7.28-7.31 总结
一.比赛总结
-
打了一场模拟赛。签到题读错题了,乐,眼睁睁看着一车人过。还有一个题直接猜错结论,以后要提防。
-
打了一场多校,写了4个题。但是不会差分约束题,shame,一眼鉴定为PJ水平。
-
打了ARC,构造抓瞎,菜死了。
-
今晚 CF 准备好丢脸了。
二.题目总结
感觉写详细题解太累了。每个题点到就好。
CF1458F Range Diameter Sum:
-
这个树上圆理论很厉害啊。
-
处理一个序列所有区间,可以尝试分治,转换成处理跨越 \(mid\) 的,使问题得到简化。这是常见的思想。
-
点分树真好用。
P3346 [ZJOI2015]诸神眷顾的幻想乡
-
广义SAM真是个神奇的东西。
-
注意一个结论:树上每个路径,都可以在某叶子结点做根的情况下,变成直上直下。
CF1214G Feeling Good
\(n\le 2000,m\le 2000,q\le 5*10^5\)
这个题详细说说。可以转换成 \(n\) 个集合,找到没有包含关系的一对集合。集合还带修。
可以 bitset 维护集合。
直接暴力的话, \(O(n^2mq/w)\) 过不去。
一个结论是,我们把集合大小排序,然后判是否有一对相邻的能满足。
证明就是反证,分类讨论。
\(O(nmq/w)\) 还是过不去。
但是我们可以用 set 来维护这个“集合大小排序”,修改相当于删除和插入。
我们再用一个 set 记录这个答案集合。于是乎就可以做到每次只处理 \(O(1)\) 个点对。
\(O(mq/w+(n+q)\log n)\)
CF1085G Beautiful Matrix
-
我愿把这个计数部分叫做Ex-错排?但是很好数啊。
-
处理字典序这种东西,我们永远可以用枚举 \(lcp\) 的方法解决。
-
不清楚为啥能 2900。
AT4376 [AGC027B] Garbage Collector
不要被诈骗了。随便想一个结论迷糊自己是不行的。
UOJ372 滑稽树前做游戏
一句话题意:给你一个无向简单图。\(x_i\) 在 \([0,1]\) 均匀分布。f(x)=\max(x_i,x_{u_j}+x_{v_j})),求 \(E(x)\)
\(n\le 25\) 。
神题。看完题解有一种“朝闻道,夕死可矣”的感觉。
这种什么 \([0,1]\) 均匀分布一般都是在解方程。
看到一堆数的 \(max\) ,想到把它转换成小于等于。看到期望,我们把它转化成一堆概率叠起来。
令 \(g(t)=P[f(x)\le t]\) ,答案就是 \(2-\int_{0}^{2}g(t)\,dt\)
于是想办法求 \(g\) 。我们想办法先填一些数,来减少限制。
不妨枚举 \(x_i\) 最大的 \(i\) 。有两种情况:
-
\(x_i\le t/2\) ,则一定抵不到 \(t\) 。出现这种情况的概率是 \((t/2)^n\)。
-
\(x_i > t/2\) ,考虑 \(i\) 相连的 \(j\) ,发现与 \(j\) 相连的其他边都没有用了。
于是我们可以把 \(i\) 与 \(j\) 们删去,形成一个子问题。但是我们注意到此时所有点要 \(\le x_i\) ,这就多了一个限制。
所以我们引入新的参数 \(w\): 求一个关于 \(w\) 和 \(t\) 的多项式 \(h(G,w,t)\) 表示 \(G\) 这个图,\(x_i\) 在 \([0,w]\) 间分布,\(t\) 还是原意。
就可以得到这样一个式子:\(h(G,w,t)=(t/2)^n+\sum \int_{t/2}^{w} (t-x)^k h(G_i,x,t) dx\) ,其中 \(G_i\) 表示把 \(i\) 和与 \(i\) 相连的点删去后的图,\(k\) 表示 \(i\) 的度数。
归纳发现 \(h(G,w,t)\) 是个齐次多项式,所以是很好维护的。
直接对着式子算就好了。复杂度是 \(O(2^n n^3)\) 的,感觉过不去。
但第一,可以记忆化搜索;第二,一个不连通的图,可以先求每个联通块,再直接乘起来。
某道题
-
铭记线段树分治。
-
特殊的边,特殊处理
gym 102331 H
一个见到两次,咕了一年的题。
一句话题意是给定一个序列,每次询问给出 \(l,r,k\) ,求 \([l,r]\) 内取 \(k\) 个不相交的子段,最大的权值和。
-
观察到答案关于 \(k\) 是上凸的。因为可以转换成费用流。
-
尝试线段树维护。对于每个节点,求 \(g[k,0/1,0/1]\) 表示取了 \(k\) 段,两端是否取了。因为是凸的,可以闵可夫斯基和。
-
但是我们询问的时候没法直接合并这些凸包。
-
处理凸的问题,别忘了能 wqs 二分。把 \([l,r]\) 拆成 \(O(\log n)\) 段后,对于每段在凸包上二分查出最大处。
于是总共是 \(O(q\log^3 n)\) 的。没太懂怎么减掉一个 log 。
三.感悟
-
感觉文学的熏陶对 OI 的学习是有帮助的,今天只是做了会儿语文作业,搞 OI 的时候效率就巨高。
-
自大是我最大的敌人。要明白自己今年省选纯粹运气好,现在真实实力应该是SC 40名开外,CW 10名开外。不要被蒙蔽了双眼。
-
我好懒啊。单指硬抗B-X很难受,明白要练双指了。
-
仍然上不了IM呢,我个废物。距离上M已经过了一年了。不会博弈论,不会构造,啥也不会。纯纯一头猪。