プロコン忘れそうなのでEとGも。E以降は「アレ?この難易度でいいのか?」と思いながら解いてました。Length)各街に自然数aiが設定されていて、街i-1と街iとの距離はa(i-1)aiで定められています。散歩する街の順番が与えられるので、街1から初めて街1で終わる散歩の距離の総和を求めてください。解法aiはものすごく大きいので普通に掛け算していると間に合わない。よってビットを用いた累乗で都市間の距離を求めます。毎回街の移動をループ回しながらやるとO(N2)でTLEするので予め街1からの距離に変換しておきます。long型ならオーバーフローしないのでmodは取りません。(取ったらWAしました)後は街iから街jへ移動するときは(i<j)、(街1から街jの距離)ー(街1から街iの距離)で出せます。Problem問題概要TSPに「スタートから累計t移動した時にその辺が消失する。それまでにその辺は渡り終わっていなければならない」というルールを追加。最短距離とその距離の通り方が何通りあるか求める問題。