Examples

2022-12-22 #18 向永恒开战 追寻我—— 一如此刻 十指紧握

——校长《遗忘山丘》

这首歌应该是我初二的时候接触到的,听完后尝试把奇爱人生系列推给同学,失败了(

当时好像和与我们高两届的学长一起打模拟赛,有一次打北大附中的题,看到了一道题叫“彼岸蔷薇”。

向永恒开战 追寻我——
一如此刻 十指紧握
将太阳射落 献给我——
请记得我即神佛

得知了这道题是 EI 供的后非常开心,这么厉害的大佬居然也听校长的歌!!

考完还跟旁边的学长叽里呱啦了一下,虽然他好像没鸟我😔。

现在竟然可以和以前仰慕已久的 EI 吹水,令人感慨。

image

image


90 ARC138F KD Tree

比较简单?可是为啥我不会捏。

dp,四维状态记下当前处理的矩形。

为了不算重,不妨对于一个操作序列强行分配一个字典序,把一次操作看成一个字符,操作序列就是操作树的先序遍历结果,字符大小关系为 x(1)y(1)x(2)x(k)y(k)。(x(p) 表示使用集合内第 p 大的 x 坐标划分)

枚举目前是哪个操作,枚举一个字典序较小的操作嗯容斥就好了。

记忆化搜索即可,复杂度 O(n6)

91 uoj#704. 马超战潼关

O(2nn2) 的算法很容易得到(枚举左边每个点到源的边割不割,右边相邻不割的点大于一的点只能割与汇的边去,其余任意且互不影响)但是有一种模型更便于思考:

找出图的一组最大匹配,那么每条匹配边 (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(3n2n2)

事实上只需要枚举每个点是否填 0,对后面的限制不变,那么问题变为:图中填 0 位置集合固定,其他点填数方案数。(后一半无非是做一个对称的问题,然后高维前缀和)

内部的方案数只需找出非 0 位置的导出子图,没有入度的点可以填 1,而且互不影响,答案就是二的幂次。

复杂度为 O(2n2n2)

92 uoj#705. 黄忠庆功宴

一个公差为 k 的等差数列,其一定能写成 k1modp 个值域连续段。(走 k1modp 步就会在值域上向前 1 步)

一个结论,对于任意 k,都可以写出一对 (x,y) 满足 kxy(modp),xp,yp

证明可以通过鸽巢原理,考察生成的 {xyk} 集合,一旦有相同的则 kx1x2y1y2(modp)。(如果 y1=y2,那么此时一定有 x1=x2

那么我们可以对于每个 xbi=aixmodp,在这个数组上求 y 个连续段的和就好了。

复杂度 O(nn)


hzr 好强。

image

posted @   xiaoziyao  阅读(357)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示