noip 以后 CF 题选录
contests
Educational Codeforces Round 117
D. X-Magic Pair
发现能够凑出的数都是这样形成的:
比如 ,那么一直让 减 ,如果 那么交换
然后模拟 的过程即可,即求 的过程 则满足条件
E. Messages
利用期望的线性性,那么总期望等于各信的期望之和
假如目前选择 封信,那么对于一个信的主人 ,如果 ,那么获得 的期望,否则获得 的期望
考虑 的范围,结论是
证明:假设 取 的最有情况,即前 大的信都有 个人,每个人的 都是 ,那么减少的为 ,增加的是 ,发现最有情况正好相等,那么意味着 变成更大一定不优
F. Armor and Weapons
首先暴力的想法是直接 二元组
然而一个很好的条件是特殊点对的加成为 ,那么发现 或 越大一定越优
可以按照层数来 ,那么对于每层来说如果存在点对 和 ,满足 ,那么 可以说是没有用的了
那么这样每层的状态实际上非常少,最多 个,而 到答案最多大约 层,那么复杂度
这道题启示我们进行类最短路 时要尽量地对状态进行优化与剪枝
G. Max Sum Array
首先是这样一个结论:一开始两端点一个定放个数最多的那种数,证明省略
那么就出现了可以递归的子问题,然后递归处理即可
发现出现不同方案数可能由于每一层同时有多个个数最多的数,假设有 个
通过同样的方式可以证明摆放顺序没有关系,那么有 种方案
利用桶排 处理即可
Codeforces Round 709
C. Skyline Photo
写出来 方程:
发现转移是成段的,即每个 管理一段
那么可以直接用单调栈来解决这个问题,每个单调栈里记录栈中这个元素到上一个元素之间的最优转移即可
D. Useful Edges
首先是暴力的想法,枚举每一条边,枚举每一个三元组,如果满足 则满足条件
移项得
两边都有的是 ,那么对于固定的 ,枚举一边更新另一边即可
杂题
数据结构
CF1136E Nastya Hasn't Written a Legend
我也不知道正解是怎么想到这道题中的不变量的……
发现
那么设
那么带入得到 ,即是单调的
操作一相当于单点加,配合线段树上二分与区间覆盖来维护单调新
操作二相当于区间和,减去前缀和的前缀和
注意可能区间赋值为零, 标记要初始化为
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】