AtCoder研究室のプロコンでQUPC2014を1時間で解こうとしたら、3問しか解けなかった。E)としてが与えられる。駅vから駅uまでの距離がd_vuであるとする。d_vuならf[K-1]円とする。切符を二枚まで使ってよい、はスタートとゴールの間に、ある中継点が存在する、と考えられる。よって、ある中継点を決めたときの値段は、スタートから中継点までの最短距離と、中継点からゴールまでの最短距離がわかれば、求めることができる。スタートから中継点までの距離は、一度Dijkstra法を使えば求められる。中継点からゴールまでの最短距離については、各点からゴール地点までの最短距離をそれぞれDijkstra法で計算していては間に合わない。このグラフは無向グラフなので、「中継点からゴールまでの最短距離」を、「ゴールから中継点までの最短距離」と言い換えれば、ゴールをスタートとしてDijkstra法をすれば、各中継点からゴールまでの最短距離を効率よく求めることができる。距離がわかったあとは、地道にその距離に対応する値段を計算すればよい。問題文の上の方の例には切符を3枚使う例が書かれていて、計算間に合わない、となっていた。(1)はてなブログをはじめよう!n_knuuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。