1 条题解
-
0
自动搬运
来自洛谷,原作者为

hy233
每天摆烂的菜狗搬运于
2025-08-24 22:33:03,当前版本为作者最后更新于2024-04-28 20:29:18,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
如果确定了第一行的操作,那么其他行的操作也确定了。因为若操作了前 行,第 行的位置能操作当且仅当其正上方为 。
我们不妨用广义矩阵刻画这一转移:设 为第 行的数所构成的向量, 为修改完前 行之后第 行构成的向量。令 $\boldsymbol A=\begin{bmatrix} 1 & 1 & 0 & 0 & \cdots \\ 1 & 1 & 1 & 0 & \cdots \\ 0 & 1 & 1 & 1 & \cdots \\ \vdots & \vdots & \vdots & \vdots & \ddots \\ \end{bmatrix}$,则 。其中 为异或。
所以 $\boldsymbol{f_n=((f_1A\oplus a_2)A\oplus a_3\cdots)A\oplus a_n}$,第 行没有下一行给他消了,所以 。化简把 提出可得:
右边显然可以预处理,如果 存在那么移到右边去就结束了。打表发现 不存在当且仅当 。
$$\left\{\begin{matrix} u_1\oplus u_2=0 \\ u_1\oplus u_2\oplus u_3=0 \\ \cdots\\ u_{m-2}\oplus u_{m-1}\oplus u_m=0\\ u_{m-1}\oplus u_m=0 \end{matrix}\right.$$Proof:考虑方程 :
$$\boldsymbol{\exist x_1\ne x_2,x_1A=x_2A=v\Leftrightarrow (x_1-x_2)A=0\Leftrightarrow \exist u\ne 0,uA=0 } $$如果存在 ,那么 就有多个解,不符合条件。尝试构造这样的 ,上式等价于:
若 ,则。
否则 ,,当且仅当 时满足 。
所以当 时 有多解,反之则有唯一解。 归纳可以得到 有着同样的性质。
所以区间询问时,当 时我们输出 ,否则直接解出 $\boldsymbol{f_l=(\sum_{i=l+1}^ra_iA^{r-i})A^{-(r-l)}}$。验证一下 是否可以唯一得到 即可。 时,答案为 需要的操作次数,反之即为 中 的个数。
关于数值计算,预处理 , 类似的东西可以差分计算。注意到 ,用
ull压一下可以去掉一个 ,复杂度 。
- 1
信息
- ID
- 6705
- 时间
- 1500ms
- 内存
- 512MiB
- 难度
- 7
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者