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: 15401603

コメント

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;
	}
};