杂题选做【S-C1】
【S-C1】是啥意思??
01. CF1858E2 Rollbacks (Hard Version)
维护一个初始为空的序列
:在序列末端插入 ; :在序列末端删除 个数( 不超过当前序列长度); :查询序列中不同的数字个数; :撤回前一个 操作。
解法
垃圾 *2600。
经典地,我们用 set 维护所有数字的出现的所有位置,更新时只需要查询其首位即可。
这样我们可以轻松实现
为了实现
这样做同样是为了方便进行
对于
特别地,对于
至于答案的更新,我们在所有元素第一次出现的位置标记为
那么
至此,我们需要一个可以支持单点修改、查询区间和的数据结构。拉一个树状数组即可。
时间复杂度
https://codeforces.com/contest/1858/submission/219045104
考虑优化,逐个解决瓶颈:
- 树状数组:可以用前缀和替代。容易发现是可行的;
- 维护各个元素出现的位置:我们发现改变一个元素第一次出现的位置,必然伴随着一个当前已知位置该元素的更新或该元素的彻底删除。据此可以只用一个数组
代替上述题解中提出的 set 进行维护。
据此,我们得到时间复杂度
02. CF1804F Approximate Diameter
给定一个
解法
牛逼 *2700。
考虑一个性质,以某个点为端点的最长路径长度
证明从略。
但是发现这个比要求的更紧。考虑怎么利用这个
显然地,我们考虑二分某个答案什么时候失效,此时我们将该答案除以
二分枚举端点再套枚举答案即可,时间复杂度
https://codeforces.com/contest/1804/submission/219393324
注意我们钦点的 dijkstra 算法别写丑,不然无法通过。
03. CF992E Nastya and King-Shamans
给定序列
- 单点将
; - 查询
。
解法
还不错的 *2500。
考虑一个性质:答案最多为
证明从略。我们考虑直接拉线段树维护然后暴力遍历即可找到答案。
时间复杂度
https://codeforces.com/contest/992/submission/219414380
04. CF825G Tree Queries
一棵树有
:把节点 染为黑色; :查询 到树上任意一个黑色节点的简单路径上的编号最小的节点的编号。
保证第一个操作为染色操作,强制在线。
解法
小清新 *2500!
首先,显然地,为了方便维护,我们以第一次染色的节点
然后画个图可以理解:
- 对于染色操作,将目前维护的一个答案
,可以证明这是正确的; - 对于询问操作,我们输出
即可。
这是因为,我们的对于不同
至此问题得到
https://codeforces.com/contest/825/submission/219512635
05. CF1503D Flip the Cards
你有
我们认为这
可以进行下面的操作:
- 交换
。 - 随意重排这
张牌。
求如果要使这
解法
牛逼 *2600。可惜放了
我们考虑到,若存在一个
于是考虑将所有牌变成
下面研究
在
时间复杂度
同时注意到没必要管顺序。
https://codeforces.com/contest/1503/submission/219536981
06. CF1646F Playing Around the Table
有
要求,操作次数不超过
解法
萌萌 *2900。
我们考虑到,为了方便处理,设计一个过渡态「一气通贯」使所有情况达到统一。
可以证明,初态
下面,我们证明第一个。发现离「一气通贯」最远的状态是每个人均有一个「
https://codeforces.com/contest/1646/submission/219623330
感觉还是比较难想的,所以场上才仅 3 人通过。
07. CF802H Fake News (medium)
构造字符串
解法
萌萌 *2200!感觉思路比较牛逼。
我首先想到了 CF1368B Codeforces Subsequences,不同的是,这道题是至少
一个朴素的想法是,对于恰好有
具体地,任取一个新字符
但是我们不能实现
考虑另一个思路,假设对于恰好有
:令 , 即可; :令 , 即可。
这之后我们均直接可以更新
于是我们递归地解决这个问题即可。考虑每次处理
边界是
这个是很对的,不考虑 string 类的复杂度是
本文来自博客园,作者:CSP_Sept,转载请注明原文链接:https://www.cnblogs.com/plenilunesept/p/17645415.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】