問題概要
リンク: https://codeforces.com/contest/1451/problem/E1
インタラクション問題
整数配列の異なる二数の AND, OR, XOR のいずれかを
制約:
key
解法 1(Easy)
想定解.
ここで
最後の削減ができず…
解法 2(Easy)
解答: (https://codeforces.com/contest/1451/submission/99209729)
コンテスト後, これで解いた. hard の想定解の一部に似ている。
以降
以降 nbit 目まで XOR をとっていくことで配列 b が
の場合
{} = {0, 0} or {1, 1}なので について AND を取れば ok かつ の場合 について AND を取れば ok かつ の場合 について AND を取れば ok
以上より事前に{
時間計算量:
解法 1(Hard)
上記解法 2(Easy)の XOR は順番に取る必要はなく, 全て
に被りがある場合, との XOR が同一となった数は同一なのであとは XOR をたどることで n 回で ok - 被りがない場合, a には 0 から n-1 のすべての値が含まれる。 ここで
になるような i は必ず存在し, このとき, よって AND が分かり, 一つ減らすことができる。