2022-12-22 #18 向永恒开战 追寻我—— 一如此刻 十指紧握
——校长《遗忘山丘》
这首歌应该是我初二的时候接触到的,听完后尝试把奇爱人生系列推给同学,失败了(
当时好像和与我们高两届的学长一起打模拟赛,有一次打北大附中的题,看到了一道题叫“彼岸蔷薇”。
向永恒开战 追寻我——
一如此刻 十指紧握
将太阳射落 献给我——
请记得我即神佛
得知了这道题是 EI 供的后非常开心,这么厉害的大佬居然也听校长的歌!!
考完还跟旁边的学长叽里呱啦了一下,虽然他好像没鸟我😔。
现在竟然可以和以前仰慕已久的 EI 吹水,令人感慨。


90 ARC138F KD Tree
比较简单?可是为啥我不会捏。
dp,四维状态记下当前处理的矩形。
为了不算重,不妨对于一个操作序列强行分配一个字典序,把一次操作看成一个字符,操作序列就是操作树的先序遍历结果,字符大小关系为 \(x(1)\leqslant y(1)\leqslant x(2)\leqslant\cdots\leqslant x(k)\leqslant y(k)\)。(\(x(p)\) 表示使用集合内第 \(p\) 大的 \(x\) 坐标划分)
枚举目前是哪个操作,枚举一个字典序较小的操作嗯容斥就好了。
记忆化搜索即可,复杂度 \(O(n^6)\)。
91 uoj#704. 马超战潼关
\(O(2^nn^2)\) 的算法很容易得到(枚举左边每个点到源的边割不割,右边相邻不割的点大于一的点只能割与汇的边去,其余任意且互不影响)但是有一种模型更便于思考:
找出图的一组最大匹配,那么每条匹配边 \((x,y)\) 一定满足 \((s,x),(x,y),(y,t)\) 恰好割一条。
考虑每条非匹配边 \((x,y)\)。
- 若 \(x\) 是匹配点且 \(y\) 是匹配点:\(x\) 割源或 \(y\) 割汇;
- 否则若 \(x\) 是匹配点:\(x\) 割源;
- 否则 \(y\) 是匹配点,\(y\) 割汇。
将一对匹配边看成一个点,点权 \(0,1,2\) 分别表示割三种边,将非匹配边的第一种情况让 \(x\) 对应匹配向 \(y\) 对应匹配连一条有向边。
发现这张新图中,一个环必须全 \(0\) 或者全 \(2\),于是我们可以缩点,得到一张 DAG。
得到拓扑序,考虑 meet in middle,枚举前一半每个结点填 \(0,1,2\),后一半就会限制每个点是否填 \(2\),预处理一下,高维前缀和可以做到 \(O(3^{\frac n2}n^2)\)。
事实上只需要枚举每个点是否填 \(0\),对后面的限制不变,那么问题变为:图中填 \(0\) 位置集合固定,其他点填数方案数。(后一半无非是做一个对称的问题,然后高维前缀和)
内部的方案数只需找出非 \(0\) 位置的导出子图,没有入度的点可以填 \(1\),而且互不影响,答案就是二的幂次。
复杂度为 \(O(2^{\frac n2}n^2)\)。
92 uoj#705. 黄忠庆功宴
一个公差为 \(k\) 的等差数列,其一定能写成 \(k^{-1}\bmod p\) 个值域连续段。(走 \(k^{-1}\bmod p\) 步就会在值域上向前 \(1\) 步)
一个结论,对于任意 \(k\),都可以写出一对 \((x,y)\) 满足 \(k\equiv \frac xy\pmod p,x\leqslant \sqrt p,y\leqslant \sqrt p\)。
证明可以通过鸽巢原理,考察生成的 \(\{x-yk\}\) 集合,一旦有相同的则 \(k\equiv\frac{x_1-x_2}{y_1-y_2}\pmod p\)。(如果 \(y_1=y_2\),那么此时一定有 \(x_1=x_2\))
那么我们可以对于每个 \(x\) 令 \(b_i=a_{ix\bmod p}\),在这个数组上求 \(y\) 个连续段的和就好了。
复杂度 \(O(n\sqrt n)\)。
hzr 好强。


浙公网安备 33010602011771号