Codeforces Round 869 (Div. 2)
1|0Preface
一把回到紫名还是很舒服的,D题手比较稳猜了点性质水过
主要还是C脑抽了想了挺久才看出来是个丁真题,不然最后过了D之后30min可以看看E的
由于要写学校的图论专题所以接下来一段时间的CF补题计划就要先停一停了
2|0A. Politics
傻逼题,当某个人的串和第一个人有任意一个位置不同时,它就肯定得被请出去
所以看有多少个串和第一个人的串相同即可
3|0B. Indivisible
原来还真有这种可以递推的构造题
首先发现为奇数时除了之外一定无解,因为长度为的区间必然不满足要求
否则考虑偶数的情况,我们可以从的构造情况转移过来
一种合法的方案是类似这样,正确性很容易验证:
4|0C. Almost Increasing Subsequence
刚开始各种想复杂结果卡了快40min,不然这场分还能涨
首先容易发现我们可以把一段连续的不升区间放在一起考虑,比如样例就可以划分成:
不难发现每一段长度大于等于的区间取首尾一定是最优的,因此把长度大于等于的区间赋权值,等于的区间赋权值
那么询问的时候只要求这段区间的权值和即可,不过要注意两个端点所在的区间的情况要讨论下
5|0D. Fish Graph
花式猜结论直接水过可海星,果然图论的本质就是猜结论吗(doge
首先很容易想到BF的做法,对于每个度数大于等于的点,枚举两个相邻点当尾巴后在剩下的点里找一个过的环
但这样的复杂度显然会炸穿,其实我比赛的时候还交了一发喜提TLE
直觉告诉我们应该直接找环然后判断是否存在两个不在环上的点,但如果我们随便找环的话可能会因为DFS的性质把本来可以剩下来的点给占用掉
然后一个很自然的想法就是要找长度最小的环,然后可以证明这样是一定能出解的
因为我们只要找到这个点在环上的两个相邻点,那么最小长度的构造方案一定只占用其中的两个相邻点,否则我们一定可以删去其中的某些点
现在的问题就是怎么找长度最小的环,解决方法大概可以用BFS判环法?
不过由于我前面已经写了DFS判环的代码了,所以加个迭代加深就行
6|0E. Similar Polynomials
多项式题,比赛的时候题目没细看就去看学校的图论专题的题了,赛后对着题解补的QWQ(以下所有等式都指模运算下)
首先两个相似多项式的最高次项的系数一定相同,不妨都设为,然后考虑次高次项,即写出形式:
然后由于题目中提到的性质,,所以有
这里后面的展开就是个二项式定理,就不过多赘述了
因此由比较系数法我们发现令,则,即
所以现在的问题就是一个给出多项式的点值求系数的问题了,根据拉格朗日插值的姿势(这篇博客个人觉得还是写的挺好挺详细的),由于这里是连续正数位置的点值,因此:
直接令即可计算出的值了:
对于次项的计算我们可以观察到:
所以有:
然后就可以直接算了,总复杂度
7|0Postscript
真得珍惜这坎坷的紫名了,希望别下场又滚回去了的说
__EOF__

本文链接:https://www.cnblogs.com/cjjsb/p/17366594.html
关于博主:复活的ACM新生,目前爱好仅剩Gal/HBR/雀魂/单机/OSU
版权声明:转载请注明出处
声援博主:欢迎加QQ:2649020702来DD我
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧