556.1
500が解けないのは頭悪いから。
250
それぞれの地点に点数が割り当てられていて、その点に到達したときに現在の得点に対してXORされる。地点間の隣接関係が与えられるので、開始点から自由に移動して良いとき、得点の最大値を答えよ、という問題。
得点の範囲が小さいので、得点と現在位置をメモしておいて探索するだけ。
500
N桁の整数が与えられる。先頭から順番に左右に振り分けていって新しい数字を作るとき、指定された値以上で一番小さい作れる値を答えよ、という問題
全パターンをメモ付き探索しても実入りがないので、作れる辞書順で先頭のものをまじめに計算する必要があるそうな。先頭K桁が決まっているときに、それが作れるかどうかはDPで計算できるので、頑張りましょうとのこと。
1000
2回渡ると壊れる橋がある状況で、異なる二地点間を数回往復したい人が二人いる。可能なパスはあるかどうか答えよ、という問題。
なんかフロー。