Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SRM573 Div1Hard Div2Hard 解説
Search
tozangezan
March 15, 2013
Technology
1
260
SRM573 Div1Hard Div2Hard 解説
解説です。上げなおしました。
tozangezan
March 15, 2013
Tweet
Share
More Decks by tozangezan
See All by tozangezan
SRM578 解説
tozangezan
0
260
Other Decks in Technology
See All in Technology
タイミーのデータ活用を支えるdbt Cloud導入とこれから
ttccddtoki
2
460
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
140
[SRE kaigi 2025] ガバメントクラウドに向けた開発と変化するSRE組織のあり方 / Development for Government Cloud and the Evolving Role of SRE Teams
kazeburo
3
1.5k
Asset Centric な データ変換パイプラインの攻略法
recruitengineers
PRO
1
110
Autify Company Deck
autifyhq
2
41k
ソフトウェアアーキテクトのための意思決定術: Software Architecture and Decision-Making
snoozer05
PRO
15
2.5k
クロスアカウントな RDS Snapshot Export による カジュアルなデータ集約の仕組み / 202501-finatext-technight-lt
wa6sn
1
120
あなたはJVMの気持ちを理解できるか?
skrb
5
1.9k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
17k
Microsoft Ignite 2024 最新情報!Microsoft 365 Agents SDK 概要 / Microsoft Ignite 2024 latest news Microsoft 365 Agents SDK overview
karamem0
0
170
MicrosoftのOSSだけでAIによるブラウザテストを構成する
ymd65536
1
230
プロダクト開発、インフラ、コーポレート、そしてAIとの共通言語としての Terraform / Terraform as a Common Language for Product Development, Infrastructure, Corporate Engineering, and AI
yuyatakeyama
6
1.4k
Featured
See All Featured
For a Future-Friendly Web
brad_frost
176
9.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
20
2.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
GraphQLとの向き合い方2022年版
quramy
44
13k
Agile that works and the tools we love
rasmusluckow
328
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Side Projects
sachag
452
42k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Transcript
WolfPack(Div1 Hard) WolfPackDivTwo(Div2 Hard) 解説 SRM 573
問題概要 オオカミがn頭いて、最初(x[i],y[i])にい る それぞれのオオカミは1回の移動におい て、隣接するマスのうちのどれか1つに進 む M回移動したときにn頭すべてが同じ場所に
いた 移動の仕方は何通りあるか、1000000007で 割った余りを求めよ。
例(Example 2) 2回の移動で 真ん中に行か ないと…… 2回の移動で 真ん中に 行かないと… 余裕!
(2,0)以外に集まるこ とは出来ない(両端の どっちかが間に合わな い) 左右にいるオオカミは (2,0)に向かってまっ すぐ向かってくること は確定 真ん中のオオカミは1 回好きな方向に向か い、もどってくる
素朴な解法 DFSするだけ→O(4NM2)くらいだろうか、さすがに 間に合わない ということで、何かしらのDPをする。 最後に集まる場所をそれぞれのオオカミの移動は 別々に考えて、最後にそれらをすべて掛け合わせ ればよい。
→すると集まる場所はO(M2)くらい。それぞれ についてDPをするとO(MN)くらい、combinationを 計算するとO(N)だろう。これだとO(NM^2)。 これでDiv2のほうは通る。
満点解法に向けて(1) このような移動は…… こう考える!!
満点解法に向けて(2) 次に、(0,0)から各点に行く方法が何通りあるか を考えてみる。 (何も数字が書かれていないところはすべて0通りです)
満点解法に向けて(3) さっきの図を45度回転 させてみましょう!! 見た感じnCi*nCjみたいな感じになっている…?? →正しい (n+1)Ci*(n+1)Cj=(nCi+nC(i-1))(nCj+nC(j-1)) =nCi*nCj+nC(i-1)*nCj+nCi*nC(j-1) +nC(i-1)*nC(j-1)
なので、帰納法で証明できます オオカミごとに独立に動けるので掛け算する
満点解法 ということで、座標を45度回転させ、n点を平行 移動するときにそれぞれ何通りになるかを計算す ればよいです(この時点ではまだO(NM^2)) しかし、このときスライドするだけなので、 x1y1+x2y1+x3y1+x1y2+x2y2+x3y3 =(x1+x2+x3)(y1+y2) のように独立にもとめることで、計算量はO(MN)
にすることができ、これで通すことが出来ます。 また、nCk mod pは他にもよく出てくるので自分 で調べてください。JOI2011のKeycardsがおすす めです。
まとめ Div1 提出者数:11 正解者数:4 Div2 提出者数:47 正解者数:12
お疲れ様でした