ijpc-2 c問題解説
TRANSCRIPT
![Page 1: IJPC-2 C問題解説](https://reader036.vdocuments.pub/reader036/viewer/2022081521/58847a6a1a28ab5e248b6b87/html5/thumbnails/1.jpg)
C ガソリンスタンド@takayuta1999
![Page 2: IJPC-2 C問題解説](https://reader036.vdocuments.pub/reader036/viewer/2022081521/58847a6a1a28ab5e248b6b87/html5/thumbnails/2.jpg)
問題概要 (言い換え) N 個の頂点に対して、数 が与えられる 各頂点対 に対して、 に長さ の辺を張る このとき、個の最短路クエリに答えよ
![Page 3: IJPC-2 C問題解説](https://reader036.vdocuments.pub/reader036/viewer/2022081521/58847a6a1a28ab5e248b6b87/html5/thumbnails/3.jpg)
解法 ワーシャルフロイド法やダイクストラ法ではサイズが大きすぎるため、時間が間に合わない 性質をつかもう
![Page 4: IJPC-2 C問題解説](https://reader036.vdocuments.pub/reader036/viewer/2022081521/58847a6a1a28ab5e248b6b87/html5/thumbnails/4.jpg)
解法 問題文にも明示されてるようにまず一列に頂点を並べてみる 終点を固定して生き方を考える
1 2 3 4
![Page 5: IJPC-2 C問題解説](https://reader036.vdocuments.pub/reader036/viewer/2022081521/58847a6a1a28ab5e248b6b87/html5/thumbnails/5.jpg)
解法 問題文にも明示されてるようにまず一列に頂点を並べてみる 終点を固定して生き方を考える (こういう誤植好き)
1 2 3 4
![Page 6: IJPC-2 C問題解説](https://reader036.vdocuments.pub/reader036/viewer/2022081521/58847a6a1a28ab5e248b6b87/html5/thumbnails/6.jpg)
解法 終点を固定すると、ありうる道筋としては以下のどちらか 始点 と終点 に対して、 からどこにも止まらずに直接 に行く から別の駅 に行ってその後 に行く
![Page 7: IJPC-2 C問題解説](https://reader036.vdocuments.pub/reader036/viewer/2022081521/58847a6a1a28ab5e248b6b87/html5/thumbnails/7.jpg)
解法 終点を固定すると、ありうる道筋としては以下のどちらか 始点 と終点 に対して、 からどこにも止まらずに直接 に行く から別の駅 に行ってその後 に行く 上の可能性は別に処理して下だけ考える
![Page 8: IJPC-2 C問題解説](https://reader036.vdocuments.pub/reader036/viewer/2022081521/58847a6a1a28ab5e248b6b87/html5/thumbnails/8.jpg)
解法 最後に経由する駅 が のどちら側に存在するかで場合分けする の時を考える( の時も同様 )
![Page 9: IJPC-2 C問題解説](https://reader036.vdocuments.pub/reader036/viewer/2022081521/58847a6a1a28ab5e248b6b87/html5/thumbnails/9.jpg)
解法 の時を考える より左で初めて の値がより大きくなるところを とする(ない場合は)
![Page 10: IJPC-2 C問題解説](https://reader036.vdocuments.pub/reader036/viewer/2022081521/58847a6a1a28ab5e248b6b87/html5/thumbnails/10.jpg)
解法 の時を考える より左で初めて の値がより小さくなるところを とする(ない場合は ) このとき、 であるとしてよいことを示す
![Page 11: IJPC-2 C問題解説](https://reader036.vdocuments.pub/reader036/viewer/2022081521/58847a6a1a28ab5e248b6b87/html5/thumbnails/11.jpg)
証明 まず、 を示す もし、 であるとしたら、と行かずに、途中で を経由した方が明らかによい よって、
![Page 12: IJPC-2 C問題解説](https://reader036.vdocuments.pub/reader036/viewer/2022081521/58847a6a1a28ab5e248b6b87/html5/thumbnails/12.jpg)
証明 次に、 を示す もし、 であるとしたら、なので、 の一個前の位置を場合分けすると、に行かずにそのまま へ行ってもよいと分かり、最短経路として考えなくてもよいと分かる よって、
![Page 13: IJPC-2 C問題解説](https://reader036.vdocuments.pub/reader036/viewer/2022081521/58847a6a1a28ab5e248b6b87/html5/thumbnails/13.jpg)
証明 以上より、 同様に、 への右からの変移も一意に定めてよい
![Page 14: IJPC-2 C問題解説](https://reader036.vdocuments.pub/reader036/viewer/2022081521/58847a6a1a28ab5e248b6b87/html5/thumbnails/14.jpg)
解法 以上より、辺がに減った でも、辺の性質上、 の値が小さい頂点から順にそれを終点とする最短経路を求めていけば、すべての頂点間の最短距離がで求められる おわり