630.1
嫌いじゃないけれど、セットとして良かったのかは微妙。
250
トポロジーが木のグラフが与えられるので、二点間の距離が同じ集合のうち、ノード数が最大のもののノード数を答えよ、という問題。
トポロジーが木なので、三つ以上の点で、そういう条件を満たすものがある場合には、必ずそれとは別の一点が存在して、そいつは条件を満たす点すべてと同じ距離にいるはず。という感じなので、その一点に該当する点と、そいつから等距離のヤツを全探索してやればおしまい。
取り敢えず二点決めて、同じ距離のヤツを貪欲に足しこんでいくというのは、落ちるっぽいし、多分落とされてた。
500
SuffixArrayを作った結果の、各インデックスごとのソート順が与えられるので、元の文字列にとって必要な最小文字種数を答えよ、という問題。
ソート順の隣のヤツと自分について、次のインデックスの順番と整合性があるなら、そっちが順序解決してくれるはずで、同じ文字で良くて、そうじゃないなら自分で順序解決しないといけないから違う文字にする、とかそんな感じ。まさにSuffixArrayの定義に従うとそうなります、という感じなのだが、知らなくても時間かければなんとかなることにはなんとかなる。スピード勝負で出して欲しい問題ではないですな。
1000
なんかめんどくさい数式集合が与えられるので、解を答えよ、という問題。
制約の数とか厳しさとか、そういうので適当な順番つけて、値埋めていけば、いつか答えが出るんじゃないの?という気分。