Examples

2022-12-18 #15 最后一个章节 面对现实睁开眼

——霾《妄想Reality》

昨天基本没做题,所以没写闲话,并入这一篇。

大概把 USACO 铜组银组金组的题都做了一遍,铂金还没开。

我的评价是金组<铜组<银组。

打银组的前 1h 一道题不会,最后 1h 才阿克,真自闭。

晚上打 CF,B fst。

再加上有几个人造完 hack 没来得及交,前 50 变成前 150。

其实就是菜,没啥好说的。

打了打《时间切片:序章》,感觉画风还挺戳我的!

image


76 Ptz2022 Day3 Qingyu, flower and their friends’ Contest B Be Careful

这个数据范围这个复杂度是我没想到的。

使用根号分治,我们将一个点的儿子分成三类:儿子数小于根号、儿子数大于根号、叶子。(注意,这里不分析具体常数)

第一类所有点权值不超过根号,我们可以记录根号内的数有哪些没有出现进行一次 dp。

第二类、第三类一起 dp,我们按照值域从小到大扫描,记录哪些二类点还没出现即可。

但是这两个 dp 分开跑不太好合并,我们尝试直接把两个状态同时记下来,(也就是记录根号内的数,目前二类的 mex,以及还有哪些二类没有用到)这样就好了。

感觉实现起来,转移顺序可能会比较复杂。(应该是先转移第一维,然后按照第二维从小到大扫,对第三维做一个高维前缀和)

复杂度 \(O(2^{\sqrt {2n}}\text{poly}(n))\)


今天去外婆家了,所以又摆了一天(

随便记几道题吧。


77 Ptz2021 Day1 Jagiellonian U Contest H Social Distancing

套路地转化成:两个状态都映射到一个“某种意义上字典序最小”的状态,查看这个状态是否相同。

字典序的性质太劣了,我们尝试按照深度从大到小对每个点重编号。

从前往后贪心确定每个点是否能在字典序最小的状态中,以这个点为根遍历全树:

  • 若儿子中不存在被标记的点,则这个点没有任何限制,我们任选一个可以拿出标记点的儿子提上来就好了;
  • 若仅有一个儿子有,直接把这个点拿上来;
  • 若不止一个儿子有,我们就要把其余有标记的儿子全部送下去,这个再 dfs 一遍儿子的子树判定即可。

check 一个点的时候至多遍历全树,复杂度 \(O(n^2)\)


78 CODECHEF CUREK

参考 偶耶XJX 的题解

可耳分解的判定:图点双连通;可双极定向的判定:加上双极之间一条边图点双连通。

回到这道题,猜测除了点双树的某个叶子点双外,其余每个点双都要放置黑点。事实上可以证明必要性(充分性见下文),于是我们可以贪心地放置,接下来用构造证明任意放置都一定有解。

取出原树的一棵 dfs 树,每个点仅保留深度最浅的返祖边。我们在树上遍历:

  • 遇到白色叶子节点:那么它此时度数为二,类似广义串并联图的缩二度点,把这个叶子挂在其邻居(准确地说,是其父亲,以及子树的最浅返祖边,也就是 tarjan 里的 low)上,待到某个邻居删除后立即删除该点。
  • 遇到黑色叶子结点:等父亲没有白色叶子结点的时候把父亲染黑。

也就是说,我们会查看儿子中是否有黑点,若有,则在遍历完其他儿子后把自己染黑。否则所有儿子都已处理完,将当前点缩二度点就好了。

这事实上也就是耳分解的构造(当然耳分解没有这么复杂),而双极定向构造只需在点双链上改一改就好了。

P5811 [IOI2019]景点划分:鸽。

79 Ptz2022 Day3 Qingyu, flower and their friends’ Contest I Inverse Line Graph

联考考过,没补题。

题意做一步转化,给每条边染色,使得一个点邻边颜色数不超过二,且同色边形成一个团。

分连通块考虑,不妨考虑联考题中的一个特殊性质:

若连通块有叶子,假设叶子连边 \((x,y)\)\(x\) 为叶子),那么与 \(y\) 连边的其他点与 \(y\) 一定构成一个同色团,后面可以类似地递推出每条边的颜色。

若没有叶子,我们先任选一个点 \(x\),度数小于等于 \(2\) 平凡。度数大于 \(2\),则我们可以取出两个邻点 \(y,z\),使三个点构成一个三元环。那么与 \(x\) 相连的其他点,若与 \(y,z\) 同时有连边则一定要加入这个团(因为同色边要成团),否则一定不能加入这个团。

于是我们将 \(x\) 的邻域分成了两个颜色,通过上文的方法递推下去就好了。

现在问题在于找到这对 \((y,z)\),我们选择连通块度数最小的点作为 \(x\),那么 \(x\) 度数不超过 \(O(\sqrt m)\),任意枚举两个邻点即可,也可以使用随机化在 \(O(1)\) 次枚举中得到答案。(显然有连边的点对占比超过 \(\frac 14\)

复杂度 \(O(n+m)\)

posted @ 2022-12-18 03:01  xiaoziyao  阅读(264)  评论(0)    收藏  举报