2023暑假做题小记
怕是最后一个暑假好好学 OI 了,好好卷,争取弥补高一的遗憾吧。
7.17 update:意识到一件事,全记在这好像有点乱,记多了也容易卡,考虑把一些专题单开一块……
7.22 update:牛客多校
7.7
【UER #1】DZY Loves Graph
乍一眼一看,加边、删边、回溯三种操作,后来发现漏看了一些重要的东西:
- 每次加的边长度单调递增,这意味着如果只有加边操作第一次形成最小生成树后答案一直会是这棵树。
- 删最大的
条边,这意味着一旦破坏了最小生成树不可能有别的边代替删除的边使其再次连通。 - 回溯只回溯前一个操作,且不会连着回溯。
- 每条边只会被真实地删一次(不包括回溯掉的)
用按秩合并优化的并查集维护图,单次加边
回溯的话,如果前一个为
复杂度
牛客练习赛113
D
转化题意后就是求模
F&G
一个数组中最多可能有两个元素出现的次数不少于一半,且只有在两种元素各占一半的时候取到两个最多。考虑枚举最多的元素是哪一个,设元素
最后要把存在两个元素各占一半的情况减掉。
7.8
The Untended Antiquity
考虑用
用二维树状数组维护,采取
7.9
P6982 [NEERC2015] Jump
随机化大法好!核心思路一共两步,第一步先试出一个串满足有
瓶颈在于第一步,确定性算法最少需要 除非够非
CF1787G
7.10
CF920E Connected Components?
大胆猜想图的性质,连通块的数量在
CF1508C Complete the MST
发现异或和的限制是吓人的,可以将为给定边权的边中一条边赋为该异或值,其它边设为
CF1749E Cactus Wall
题意是在矩形网格中通过种仙人掌使上下两边不连通,仙人掌的四连通里不能有仙人掌,问是否可行与最少种植的构造方案。
感性理解是通过走一些 "#" 组成的斜着的路径使左边与右边连通,然后想到用
放在图论专题里,肯定是图论做法。先把输入给的图就不符合要求的判掉,然后建立一个源点向左边第一列的格子连边,再将右边最后一列的格子向建立的一个汇点连边。网格中间的话走到 "." 的格子上边权为
CF1693C Keshi in Search of AmShZ
需要对
一开始直观的想法是把一条从
之后又想到求 DAG 最长路,把带环的图堵成 DAG,平衡堵路耗费的次数和 DAG 最长路的长度,但发现都不好做
其实离正解已经很接近了。设
仔细回想
用
CF1842D Tenzing and His Animal Friends
从人
本质上是求
[ARC150C] Path and Subsequence
设
7.11
图联通
7.12
CF1834E MEX of LCM
7.13
CF1838E Count Supersequences
一开始像能否正着直接求,枚举
本来想递推式矩阵加速,发现不太行,通项也不好求,后来在题解区发现其实也是可以做的。
考虑反着做,求不匹配的方案数,设已经匹配到第
7.14
后来补上的网络流
7.15
CF1770C Koxia and Number Theory
指定模数
CF1771D Hossam and (sub-)palindromic tree
序列上直接区间
CF1763F Edge Queries
翻译怎么又锅了,一开始还以为是仙人掌
想边双,由于走的是简单路径,还要考虑点是否为割点。而且jimmywang说过,点双的限制比边双紧。于是干脆求点双,建圆方树,方点上赋点双里的边数(如果只有一条边就为
7.17 ~ 7.18
可爱的DP们
7.19
线性代数
7.20
不太会的字符串
本文作者:Semorius
本文链接:https://www.cnblogs.com/Semorius/p/17538258.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步