SRM509
前夜は夜更かししてE3の中継を見てたので、だいぶ眠い感じで参戦。
- -
300. LuckyRemainder
問題:与えられた数字の空でない全ての部分列の和を9で割った余りを求める
- 9で割った余りとか桁ごとに使う回数の和を取るだけじゃないかwww
- と思ったものの、使う数字の集合を変える問題だと思って答え合わねーってなった
- 問題を読み間違ってたことに気づいて慌てて修正
- するが、わずか数行のコードに2ヶ所のバグを埋め込んで詰まる
- 結果、瞬殺ゲーっぽい問題なのに15分もかかって残念な感じだった
500. PalindromizationDiv1
問題:決められた挿入・削除・置換操作を使って、最小コストで与えられた文字列を回文にする問題
- 前後から1文字ずつ対応させてく感じのDPっぽい気がした
- 1文字ずつ対応させる方法がいろいろありそうだったので、まず列挙
- 同じ文字ならキープ
- 違う文字なら片方を消し去ってみる(置換→消すのコンボも可)
- 両方とも置換してみる
- 片方に挿入してみる(挿入→置換のコンボも有りうる)
- 片方は(挿入→置換)で、もう片方は置換
- もうないかな…。不安
- ワーシャルフロイド的なことも前処理で必要っぽい
Challenge Phase
- 500は絶対に対応操作の列挙し忘れとかいると思った
- けど、1回失敗した挙句、1人も落とせなくて悲しかった
- -
結果:AC / AC / -- ,-25, 403.30pt, 39位
レーティング:2302 -> 2360
250がだいぶ眠たそうな感じで残念でしたが、
500は目が覚めて、珍しく実装重めな問題が通ったので良かったです。