Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CutSticks.pdf
Search
mizti
April 07, 2013
660
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CutSticks.pdf
mizti
April 07, 2013
More Decks by mizti
See All by mizti
Maze Maker
mizti
0
630
「銀将ご乱心」
mizti
0
990
paint.pdf
mizti
1
640
kaibun.pdf
mizti
0
660
dfs1.pdf
mizti
0
610
問題1. 解答例
mizti
0
510
2012/11/16 問題1
mizti
0
550
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Utilizing Notion as your number one productivity tool
mfonobong
4
600
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
530
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
290
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
420
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
470
The Mindset for Success: Future Career Progression
greggifford
PRO
0
510
Why Our Code Smells
bkeepers
PRO
340
58k
The untapped power of vector embeddings
frankvandijk
2
1.9k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Transcript
少林寺秘棍房 弟子のたかしくん
問題 ここは中国・少林寺。 少林寺には35房あり、最初の10房は腕、手首、目、頭といった身体を鍛 える基礎訓練。続く房では、刀術、棒術、拳法という戦闘技術を学ぶ。各 房では35種の想像を絶する厳しい訓練が行われているという 。 たかしくんは35房のひとつ、秘棍房で棍術を習得しようと修行に励んで います。
問題 毎日の激しい訓練の途中で棍が折れてしまうため、 棍術の訓練に使うための棒を朝に山から切り出しています。 しかし、自然の木なので長さがまちまちです。
問題 たかしくんはこの棒を適当に切って練習用の棍を用意する役目を 持っています。 棍の数は人数より少なくても構いませんが、人数より多いことは(もったいな いので)許されません。 棍が割り当てられなかった弟子は棍をもたずに受け身の訓練です。 長さがまちまちですが武侠たるものそれも修行のうちです。 でき上がった棒は、偉い弟子から順番に長いものをとっていきます。 たかしくんは棍をつかった訓練が好きなので、できるだけ長い棍が手に入る ようにしたいと思っています。
たかし
問題 • 入力: int sticks[], int CutTimes, int Rank •
たかしくんはn本の棒を与えられ、 それぞれの棒の長さはsticks[]で表されます。 • たかしくんはCutTimes回以下の任意の回数だけ 以下を繰り返します – 任意の棒を一本選びます – その棒を2つに切断します (小数長さになることもあります) • 例: sticks [3, 4, 5] から2番目の棒を取り出して 1と3の長さに切り分けます [3, 4, 5] -> [3, 1, 3, 5] TopCoder SRM481 Div2 Level3より改題 CutTimes < 109 Rank < 109 (ただし最終的な棒の数を超えない) sticksの要素数 < 50 各stickの長さ < 109 条件:
問題 棒の切断方法はたかしくんの自由です。 たかしくんがもらえる最も長い棒の長さを求めま しょう。 •上記を繰り返したあと、棒を長いほうから順に並べ、 Rank番目の長さの棒を取得します 5 3 3 1
たかし たかしくんが 序列三位の弟子の場合 CutTimes < 109 Rank < 109 (ただし最終的な棒の数を超えない) sticksの要素数 < 50 各stickの長さ < 109 条件:
サンプル入出力 sticks={5,8} CutTimes=1 Rank=1 => 8.0 sticks={5,8} CutTimes=1 Rank=2 =>
5.0 sticks={5,8} CutTimes=1 Rank=3 => 4.0 sticks={1000000000, 1000000000, 1} CutTimes=2 Rank=5 => 1.0 sticks={ 76,594,17,6984,26,57,9, 876,5816,73,969,527,49 } CutTimes=789 Rank=459 => 34.92 出力は小数点以下2桁まであってればOK
解答例 • あくまで一例です: 問題を読み替えると解きやすくなります – 適切な切り方でRank番目の最大の長さを求めよ – 長さXの棒をRank本作ることができる 最大のXを求めよ
解答例 ある長さxで sticksからxより 長い棒を Rank本以上作 れるかどうか パーツ1: • sticks内にx以上の長さの ものがRank本以上ある?
ある ない まだ切る回 数はある? ない 長さxでRank本 以上作れる! 長さxではRank 本作れない! ある 切る回数を1減らし て、2 * xより長い棒 からxを切り出せ る? 切り 出せる 切り出 せない ※上記はCut数ベースで回していますが、本数ベースで「この棒からxはいくつ切り出 せるか」カウントしていったほうが良いかもしれません
解答例 広い範囲から特定のXの値を求める! 二分探索を使おう! というわけで、0 ~ 10^9の範囲で二分探索して Xを求めることに 100回もやれば0 ~ 10^9でも十分に正確に値を
決められる パーツ2:
解答例 パーツ1とパーツ2を組み合わせる: 0 と 10億の中間 (=5億)をxとして ある長さxでsticksからxより長い棒を Rank本以上作れるかどうか 作れる! 作れない!
限界は5億より大きい! もっと大きく5億と10億の 中間(=7.5億)をxとして ある長さxでsticksからxより長い棒を Rank本以上作れるかどうか 限界は5億より小さい! もっと小さく0と5億の 中間(=2.5億)をxとして ある長さxでsticksからxより長い棒を Rank本以上作れるかどうか 作れる! 作れない! 作れる! 作れない! 1 0 0 回 繰 り 返 す