省选联考 R6

https://cplusoj.com/d/senior/contest/69a595501363e1a0769508ec

ori:
?
?
https://codeforces.com/group/UqOrh5VnfT/contest/523714/problem/E

T1

判定 \(i\) 是否能到 \(j\):不妨设 \(i<j\),则 \(i\) 每次跳到 \([i+1,i+d]\) 中的最小值。显然有个阶梯型,可以按照值域从大往小扫处理。

T2

T3 Avoid XOR Zero

对于一组 \(b,c\),我们要求 \(b_i\oplus c_i\) 组成的线性基可以构造出 \(\bigoplus b_i\)
注意到,若 \(p+q=a,p\oplus q=b\),则可以选择 \(c\subseteq b\),令 \(p'=p\oplus c,q'=q\oplus c\),仍然有 \(p'+q'=a,p'\oplus q'=b\)。(交换某些位)
那么在保证 \(b_i\oplus c_i\) 不变的情况下,我们可以给 \(\bigoplus b_i\) 异或上 \(S=\bigcup b_i\oplus c_i\) 的子集。
必要条件:\(\bigoplus b_i\subseteq S\)
等价于要求所有 \(T\subseteq S\) 都能被造出来,也就是线性基大小为 \(|S|\)

\(tr(x)\) 表示只保留 \(x\) 的后导 1 后的结果,有 \(tr(p+q)=tr(p\oplus q)\)
考虑对于某个 \(a\) 的一个构造:\(b_i=\frac{a_i-tr(a_i)}{2},c_i=a_i-b_i\),则 \(b_i\oplus c_i=tr(a_i)\)

  • \(\max tr(a_i)=2^w-1\),则每个 \(1\le j\le w\) 都要求有 \(tr(a_*)=2^j-1\)
  • \(\forall i,a_i<2^{w+1}-1\)

发现 \(a=[3,5]\) 满足条件但是还是不行。加强一下:

  • 对于所有的 \(1\le j\le w\),都有 \(\exists i, tr(a_i)=2^j-1,a_i<2^w\)
  • 对于所有的 \(i\) 都有 \(a_i<2^{w+1}-1\)

这是充分的。且 \(w\) 是唯一的。


计数考虑枚举每个 \(w\),然后枚举每个 \(tr\),考虑有多少个,然后分步转移一下大概是 \(O(n^2m^2)\)

posted @ 2026-03-03 13:34  TallBanana  阅读(2)  评论(0)    收藏  举报