A問題
地味に面倒だった。普段A問題は1分くらいあればAC出来るけれども、3分以上かかった。
B問題
replace()した。A問題より簡単。
C問題
N回シフトしながら、回文化するのに必要な文字数を計算してN回分のコストを全て求めて最小を求める。
初見では方針が定まらなかった。
E問題
ワーシャルフロイド法で全都市間の距離+お土産のコストを計算しておいて、クエリに答える。最初PyPy3でTLEしてしまって、慌ててC++で実装し直した。どうやら初期値としてfloat('inf')を埋めておくと遅くなるので1 << 60とかにしておくべきというブラックノウハウがあるらしい。実際それでACするようになった。