NOI2021 部分题解

圆梦,个人认为题目难度:D1T1-D2T1-D1T2-D2T2-D1T3-D2T3。

这届 NOI 往前五年以内最烂稳了,往后不知道有没有更烂的。——p_b_p_b

D1T1 轻重边

Solution 听说被喷了?不过个人认为还可以。

首先如果直接按照轻重边的定义写的话,不大可能写的出结果。

考虑转化问题,比如说,时间戳?

为每个点打上一个时间戳,一条边被称为轻边,当且仅当两个点的时间戳不同。

那么,操作一就可以变为一次树上路径覆盖,也就是覆盖为一个新的时间戳。

操作二拍平到序列上,就是不同颜色段个数。

初始化要在开始的时候对每个点打不同的时间戳,这样就可以使每条边都是轻边。

直接树链剖分,用线段树维护一下,时间复杂度 \(O(n\log^2n)\)

D1T2 路径交点

Solution $n_1=n_k$ 与 $n_1\le 100$ 的限制,不由得想到矩阵乘法。

事实上,本题的解法其实比较简单,考虑将邻接矩阵乘起来并求行列式。

然后?没了。你问我为什么是对的,可以使用 LGV 引理证明。

引理:交点的奇偶性可以对应排列的奇偶性,证明吗,不会。

那么就可以直接丢到 LGV 引理上来证明了。

时间复杂度 \(O(n^3)\)

D1T3 庆典

Solution 发现同一个 SCC 中的点是互达的,也就是说,如果我能访问一个 SCC 中的任意一个点,则必然也可以访问其他这个 SCC 中的点。

直接缩点,然后会缩出一个 DAG,随便选取一个 DAG 的生成树,其实选节点标号尽量大的是绝对对的。

现在考虑询问,容易发现每次涉及到的点很少,直接建出虚树,这个虚树的点数会很少,我们直接在上面添加上加的边。

如果,一个虚树上的点,既可以被起始点 \(s_i\) 到达,又可以在虚树的反树上被终止点 \(t_i\) 到达,则这个点被称为好点。

如果一条边的两边均是好点,那么这条边上的点都是好点。

最终的答案即为好点的权值和,时间复杂度 \(O(n\log n+q\log n+\sum k\log n)\)

注意本题的实现上需要卡常,建议不要使用倍增 LCA,如果你倍增 LCA 卡过去了那我请你抽烟。

D2T1 量子通信

Solution 容易发现字典是随机的,同时一共是 $256$ 位,最大混淆值只有 $15$。

\(256\) 位的 \(01\) 串分段成 \(16\) 段,如果一个串被混淆了,那么这 \(16\) 段至少有一段不变,找出这一段不变的,对于这一段找出字典中的串,暴力对比即可。

好像挺一句话的,不过就这样。

D2T2 密码箱

Solution

公式其实无约分的必要,所以直接考虑分别计算分子和分母,考虑使用矩阵维护。

所以考虑矩阵刻画操作,比如说思考加上一个 \(a_i\) 有什么影响。

\[\frac{a'}{b'}=\frac{1}{a_i+\frac a b}=\frac{b}{a_i\times b+a} \]

也就是说 \(a'=b\)\(b'=a_i\times b+a\)

也就是:

\[\begin{bmatrix} a' \\ b' \end{bmatrix} = \begin{bmatrix}0 & 1 \\1& a_i \end{bmatrix} \begin{bmatrix} a \\ b \end{bmatrix} \]

那么我们就可以用矩阵刻画求答案了,考虑刻画 WE 操作。

W 操作:\(a_k\to a_k+1\):考虑构造一个矩阵 \(A\) 使得 \(\begin{bmatrix}0 & 1 \\1& a_k \end{bmatrix}A=\begin{bmatrix}0 & 1 \\1& a_k+1 \end{bmatrix}\)

不难构造出 \(A=\begin{bmatrix}1 & 1 \\0& 1 \end{bmatrix}\)

之后是 E 操作,要分 \(a_k>1\)\(a_k=1\) 两种情况。

只讨论 \(a_k>1\) 的情况,类上,构造出给末位减一的矩阵 \(\begin{bmatrix}1 & -1 \\0& 1 \end{bmatrix}\)

再进行添加,添加两个 \(\begin{bmatrix}0 & 1 \\1& 1\end{bmatrix}\),乘起来得 \(\begin{bmatrix}0 & -1 \\1& 2\end{bmatrix}\)

猜测另一种情况也是一样的,验证出也是一样的。

那么直接维护矩阵连乘积,矩阵反转积,矩阵翻转积,矩阵翻转反转积。

直接 FHQ 硬上,时间复杂度 \(O(q\log n)\)

卡常小 trick:循环展开矩阵乘法。

原文地址:https://www.cnblogs.com/cnyzz/p/15411465.html