SRM 366 DIV1 Easy/DIV2 Medium
ChangingSounds
URL: http://community.topcoder.com/stat?c=problem_statement&pm=7973
時刻付きで考えたことのログを取ってみた。
ギタープレイヤー、コンサートを開く 10:47 2011/08/23
全ての曲を同じ音量で弾くのは嫌だ 10:47 2011/08/23
曲ごとにボリュームを変更することにした 10:48 2011/08/23
各曲ごとに音量を上げるか下げるかする 10:49 2011/08/23
1つずつじゃなく、インターバルの量だけ増減する 10:51 2011/08/23与えられるもの
ギターの初期音量 10:49 2011/08/23
ギターの最大音量 10:49 2011/08/23
0<=音量<=最大音量 10:50 2011/08/23求めるもの
音量の最大値 10:50 2011/08/23
音量が範囲外にならざるを得ないなら -1 10:53 2011/08/23→貪欲にやれるか? 10:52 2011/08/23
←出来るだけ増やす 10:54 2011/08/23
←下げざるを得ないときだけ減らす 10:54 2011/08/23
→全探索で間に合うか? 10:54 2011/08/23
←changeIntervalsの要素数は最大50個 10:55 2011/08/23
←音量の最大値は最大で1000 10:55 2011/08/23
→DPのにおいがする 10:55 2011/08/23
←[何番目まで使ったか][音量] 10:56 2011/08/23
→動的計画法 10:57 2011/08/23
←dp[i][j]: i番目のギターを演奏したとき音量jが最大値かどうか 10:58 2011/08/23
←dp[0][beginLevel] = true 11:01 2011/08/23
←dp[i][j]がtrueならdp[i+1][j+I[i] ], dp[i+1][j-I[j] ]もtrueになるはず 11:02 2011/08/23
→とりあえず動的計画法でやってみる 11:03 2011/08/23
→サンプル通った 11:12 2011/08/23 終了