CF1681 合集

前言:

  1. 本人不会 LaTeX……请见谅
  2. 码风奇特,不喜勿喷哈
  3. 题面翻译取自 luogu,本蒟蒻也会安置原题链接
  4. 保证文章中不出现“显然”或者“注意到”,可能会出现“易证”
  5. AC 代码会放置在每一个题目的最底端,为防止 ban 码的情况出现,不设置跳转链接
  6. 有写错的地方欢迎各位神犇指正
  7. 本套题共 6 道,预计阅读 + 理解时间小于 15min

正片开始!

CF1681A

题面(可从下方链接跳转看原题题面):

题目传送门

序言 & 结论:

美好的一天从 A 题开始

推理过程:

只用考虑值最大的牌即可,同样大显然谁先出谁赢

细节处理:

--------------------云落的分割线--------------------

CF1681B

题面(可从下方链接跳转看原题题面):

题目传送门

序言 & 结论:

怎么又是纸牌

推理过程:

不就是个环吗,记录一个开始位置的指针即可

细节处理:

负数取模,我可真是个天才

--------------------云落的分割线--------------------

CF1681C

题面(可从下方链接跳转看原题题面):

题目传送门

序言 & 结论:

坏了,sort 写多了,不会冒泡排序了

被橙题卡住的一天

推理过程:

无解是好判断的,判断 \(a,b\) 两序列元素之间的相对大小关系是否一致即可

然后就冒泡排序就行了

细节处理:

阴间的交换次数超过 \(10000\) 输出 -1

--------------------云落的分割线--------------------

CF1681D

题面(可从下方链接跳转看原题题面):

题目传送门

序言 & 结论:

原来 CF 是存在脚题的

推理过程:

暴搜剪枝

如果当前答案的位数与目标相差超过剩余次数,就剪枝减掉

然后你发现不需要乘 \(0,1\)

细节处理:

--------------------云落的分割线--------------------

CF1681E

题面(可从下方链接跳转看原题题面):

题目传送门

序言 & 结论:

\(n=4\) 的时候不就是十日终焉里地兔的游戏吗?

推理过程:

对于一次查询,这个走的过程可以拆分为三部分

  • 起点走到起点所在层的出口

  • 起点所在层的出口走到终点所在层的入口

  • 终点所在层的入口走到终点

第一个和第三个直接随便做

第二个可以考虑记 \(f_{i,0/1}\) 为走到第 \(i\) 层的第一、二个出口

坏了,单次 \(O(n)\) 咋办,然后这玩意就很倍增

调着调着就过了,稀里糊涂的

时空复杂度都是 \(O(n \log n)\)

细节处理:

可能就是 INF 值开小了?调大之后就过了,但我觉得我可能没算错啊,离离原上谱

--------------------云落的分割线--------------------

CF1681F

题面(可从下方链接跳转看原题题面):

题目传送门

序言 & 结论:

luogu 题面大大滴好

推理过程:

这种贡献和的题目,肯定是单次贡献乘上贡献次数

钦定颜色 \(c\) 的一条边会造成贡献,把颜色为 \(c\) 的边都删掉

删掉之后树会裂开成若干个连通块

定义两个连通块是“\(c\) 连通的”,当且仅当,存在一条颜色 \(c\) 的边,插入之后可以使这两个连通块连通

显然连通块大小相乘就是贡献

问题就是,这复杂度不靠谱……所以要优化

边的颜色丢到点上(结点 \(u\) 的颜色是边 \((u,fa)\) 的颜色),用 DP 去做

\(f_u\) 表示以 \(u\) 为根的子树内不经过和 \(u\) 颜色相同的点可以到达的点数

可以先 DFS 搜一圈把 DP 数组搞出来

剩下的部分有点像 tarjan,对于结点 \(u\) 维护深度最深的但比 \(u\) 深度浅的且颜色和 \(u\) 相同的点,DP 值一乘就是答案

细节处理:

晚上补一下代码吧,感觉这是道好题

完结撒花!

posted @ 2025-08-29 19:25  sunxuhetai  阅读(19)  评论(0)    收藏  举报