SRM 564 DIV1 本番
Coding
Easy (250)
場合分けした。簡単に証明できたし
Medium (500)
場合分けしてSum計算ーとかやってたら全然出来なかった
DPかー…しかし難しいなあ…
なるほど、何番目かを持って、k番目のときに判定してさらに最後までやる感じか!
なるほどー。この形は思いつけなかったなあ。
nつの判定は単にnステップということで。
なるほどなあ…なるほどねえ。よし!
Challenge
Easyで絶対3*3を考慮してない人居るよなーと思ってた。
まさにその人が居たので1成功。他の人に結構落とされてた。もう少し速くChallengeしたらもっとできたか?こういう簡単なChallengeは速度重要か。気をつけよう
ほかに、コード読まずにやったら1失敗してしまった。これは駄目だ
結果
Easy: 236.47/250
Challenge: 1/1 = +25
Division Place: 225/733
Rating: 1540→1603
コメント
Mediumは、「もっと簡単な方法でできるはず」と考えてDPを考えてみるべきだった。定期的に考えるべき。本当に!
でも解けたかどうか…まあとにかく考えるべきだな。
コード
Easy
struct KnightCircuit2 { int maxSize(int w, int h) { if(w > h) return maxSize(h, w); if(w == 1) return 1; if(w == 2) { return (h + 1) / 2; } if(w == 3 && h == 3) return 8; return w * h; } };