ABC138 F - Coincidence
解法
が問題の条件を満たすには、これらを2進数に直した時に、
最上位桁が一致している
それぞれの桁について、の桁目との桁目が一致している、もしくはのみ0でのみ1になっている
という条件を満たす必要があります。
ということで、最上位桁が下から桁目の際ののペアを求めるために、桁DPを行います。あとはこれを全ての桁について行えばよいです。
を用意し、
:上から何桁目を見ているか(ただし最上位桁は確定しているのでないものとします)
:が以上であることが確定しているか
:が以下であることが確定しているか
とします。
あとは、下の表をもとに遷移をひたすら書いていけばよいです…
感想
の存在が邪魔で、うまい処理方法を思いつきませんでしたが、よくよく考えれば同様フラグを立てれば処理できますね…ただ桁DPの実装は丁寧にやらないといつもバグらせるので悲しいです(コンテスト中にラスト10分で書き直したものはもちろんバグだらけでした)