#427http://codeforces.com/contest/835/problem/E問題概要N要素の数列があり、そのうち2要素はYで残りの要素はXである。質問クエリとして数列のインデックスの部分集合を指定すると、それらの値のXORを知ることができる。19回以内の質問クエリで値Yを持つ2要素のインデックスを特定せよ。場合分けして考えてみると、1回の質問クエリによって得られる情報は1「その部分集合内にYが1個ある」2「その部分集合内にYが0個or2個ある」のいずれかであることがわかる。p2)のn桁目の値が得られる」という事実がある。この質問クエリの回答が1であればp1とp2は違うグループにいる=その桁の値が異なる=xorが1であり、2であればp1とp2は同じグループにいる=その桁の値が同じ=xorが0になるからである。p2)の値そのものを得ることができる。p2より、少なくとも1桁は必ずbitが立っている)。i桁目のbitが立っている)という集合の質問クエリを投げると。p1かp2の片方が特定できる。p2)は既知なので、片方がわかればもう片方もわかる。以上でp1とp2が求まった。えてまったくわからなかったんですがnvipさんのツイートのおかげで理解できました。(1)はてなブログをはじめよう!fluffyowlさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。