ABC129 : AtCoder Beginner Contest 129 の E を解いた。 2022-09-16 の続き。
- E - Sum Equals Xor
https://atcoder.jp/contests/abc129/tasks/abc129_e
- 提出: https://atcoder.jp/contests/abc129/submissions/35374904
- 制約から桁 DP っぽい
a + b = a XOR b
は繰り上がりがなければ成り立ちそう- (a, b) が (0, 0), (0, 1), (1, 0) は OK で (1, 1) は NG
- 上の桁から順に
L
未満が確定しているか未確定かで分けて DP する (桁 DP) dp[i][j] := 上から i 桁目まで見て j = 0 なら L 未満が未確定 1 なら確定
dp[i]
からdp[i+1]
への遷移しかないのでdp[j]
だけで十分だ- 遷移は
1
の場合は確定からは (0, 0), (0, 1), (1, 0) で確定へ、未確定からは (0, 0) で確定へ、 (0, 1) と (1, 0) で未確定へ遷移する - 遷移は
0
の場合は確定からは (0, 0), (0, 1), (1, 0) で確定へ、未確定からは (0, 0) のみ未確定へ遷移する
twiq 実装メモ (13)
個々のイベントと EventPayload
の対応。
- 昨日は aggregate id と
EventStreamId
を分離した - 2022-10-01 に戻ってきた
User
関連のイベントは対応したUser
にEventStream
を適用した- 一部雑に
EventStream
にメソッド (generate2
push2
) を追加しているので直す必要がある - 明日は
UserRequest
側にも適用してコンパイルエラーを直すところから
今日のコミット。