572.1

最近練習してたせいで、間違えて250から開くなど...。

250

ある文字列の先頭K文字と末尾K文字が同じになるように書き換えたい。何文字書き換える必要があるか答えよ、という問題。


取り敢えず適当にBFSしてやれば良さそうな感じ。実は文字列長からKを引いた分を周期として計算すれば良いそうです。

500

見てない。

1000

整数配列がある。ある数字を選らんで同じ数字全部に対して法26として+1か-1をする操作を任意の回数繰り返して、目的の配列への変換をしたい。各操作のコストが与えられるとき、最小コストを答えよ、という問題。できなければその旨答える。


取り敢えず、同じ数字を別の数字に変換しないことを保証してやりたい。全部の数字を目的の数字としてしまうと、移動はできない。スワップはできない。


回転はいくらでもできるので、スペースさえあれば、目的の数字への変換ができるか分かる模様。後は適当に探索をメモしながらやれば良いっぽいけれども...?