mayoko’s diary

プロコンとかいろいろ。

2016-02-01から1日間の記事一覧

すぬけのお誕生日コンテスト C - Supermarket

解法 bitDP します。dp[s] = (s で表される集合は既に優先順位が上になることが決まっていて, 新しく別の種類の食品を食べることが出来ないと決まっている月である時, まだ追加することの出来る食品の種類の数) とします。mask[i] = (食品 i が売られている…

すぬけのお誕生日コンテスト B - Snuke

問題(というかトップページ) snuke21.contest.atcoder.jp 解法 's' を消せるので, 's' が連続した部分文字列の直後の文字 c が c 's' を満たすなら, なるべく消したくないですが, 消さないといけないとしたら, 辞書順に影響を与えにくい後ろから消していくの…

SRM 480 div1 hard: StringDecryption

問題 TopCoder Statistics - Problem Statement 解法 暗号化する前の文字列を str0, 一回暗号化した後の文字列を str1, もう一回暗号化した後の文字列を str2 とします。 入力として与えられるのは str2 ですが, str2 から str1 を求めるのは, O(N^2) の dp …

Codeforces Round #341 (Div. 2) E. Wet Shark and Blocks

Codeforces Round #341 (Div. 2) に参加しました。 E 解けないのはダメだ… 問題 codeforces.com 解法 dp[i][j] = (上から数えて i 桁目の時点で, x で割った余りが j になっているような場合の数) とします。すると, dp の遷移は dp[i+1][(j*10+a)%x] += dp[…