Solution Set - IQ ↓↓
- Q: 为什么说雨兔是个傻子?
- A: 因为一路上全是星号标记.
呃, 本来的好像是 constructive || greedy
, 但感觉最近整体题量不高, 就换成 2700-2900
了. 然后惊讶地发现这个区间好多 constructive
, 麻了.
0. 「CF 1672H」Zigu Zagu *
Link & Submission & Tag:「C.性质/结论」
一个被忽略的方法——寻找操作前后变化形式优美的特征值.
假设对序列 操作, 设其中 子段的数量为 , 子段的数量为 , 先后注意到
-
每次被删除的序列是极长的 序列.
-
删除偶数长度序列, .
-
删除奇数长度序列, 或者 .
-
当 , 存在可删除的极长偶数长度序列.
故答案为 . 即可实现算法.
1. 「CF 1672F2」Checker for Array Shuffling *
Link & Submission & Tag:「C.性质/结论」
显然在所有能使 变为 的置换 中, 操作次数最小者为轮换数量最大者. 为了让这一次数变大, 我们就需要让 的环尽量多. 不难证明, 令每个环中恰好包含一个出现次数最多的元素, 可以取到这一最大值, 即元素的最多出现次数.
注意到 F1 叫做 Array Shuffling, 我们已经会做了. 对于 F2, 我们只需要检查构造是否满足上述条件. 删除出现最多的元素, 拓扑检查置换是否有环即可. 复杂度 .
2. 「CF 1661F」Teleporters *
Link & Submission & Tags:「A.二分-二分答案」「B.Tricks」
Learn to use binary search.
问题具有多样的单调性, 二分什么呢?注意到对于每个 gap, 代价减少量与随投入量增加而减少, 因而可以想到二分最小可接受收益 , 即, 只要投入一个断点, 代价减少量不小于 , 就投入. 我们能求到此时 所对应的代价 , 而 是单调的, 我们能找到最大的使得 的 . 接下来, 直到代价 , 我们每次投入的减少量必然为 . 简单计算即可. 复杂度 .
3. 「CF 1658F」Juju and Binary String *
Link & Submission & Tag:「C.性质/结论」
可以轻松判无解或者求出答案子串中字符 的出现次数 .
然后获得神谕:答案不超过 . 考虑将字符排列成环, 利用子串与整个串 的占比相同的条件, 可证环上必然存在长度为 的区间, 其 的数量不多于 , 亦必然存在区间, 其 的数量不小于 , 那么一定能调整得到数量恰为 的区间.
利用神谕当然能做到 .
4.「CF 1656F」Parametric MST
Link & Submission & Tags:「B.贪心」「C.性质/结论」
由于不可抗力断断续续不知道想了多久, 不过好歹做出来了, 泪目.
先判非法:设 表示结点 的度数, 则当 恒小于或恒大于 时非法, 排序之后分别以 和 建菊花图就能判断两种情况.
再来看贡献计算, 先将形式单一化, . 显然为了在 一定时将其最小化, 一定是 连向所有正权边, 连向所有负权边. 不难证明一定可以取某个 . 直接算就行. 复杂度 , 瓶颈为排序.
5. 「CF 1698G」Long Binary String
Link & Submission & Tags: 「A.构造」「B.复杂度平衡」
4. 和 5. 之间间隔了不可忽视的时间. 烦请忽视.
忽略前导零, 在 上对应一个常数项为 的多项式 . 我们的目标是找到任意多项式 , 使得 , 并最小化这个 .
当然, 是任意的, 所以更合理的写法是找到最小的 , 使得
注意 下模 的剩余系大小不超过 , 所以可以类似 BSGS 来平衡复杂度. 令 , 设 , 预处理 的值, 枚举 求答案即可. 至少可以 叭.
6. 「CF 1698F」Equal Reversal *
Link & Submission & Tags:「A.构造」「C.性质/结论」
先想想必要条件叭. 可以想到有解则需要满足:
- .
- 可重集族 (你妈的, 没注意到).
一般来说充要条件可以直接指向构造方法, 我们来试一试. 设 已经匹配 , 设 , , , 讨论:
- , 直接 reverse 段即可.
- , 尝试交换后面的 规约到前面一种情况.
- 如果 的可重集族与 的可重集族相同, 那 必然形如 , 哈, 这个简单.
- 否则, 必然存在一对数跨过 , 操作这对数.
- (当然, 这两个讨论可以合并.)
结束了, 暴力实现 .
7. 「CF 1697F」Too Many Constraints *
Link & Submission & Tag:「A.图论-2_SAT」「B.Tricks」
我没想到的不是 trick, 我没想到的居然是 2-SAT 😢
令真值变量 , 建立 2-SAT 解出来即可, 复杂度 . 注意 减少了变量约束数量的规模, 应该是推广性比较强的 trick.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现