Codeforces Round 959 sponsored by NEAR (Div. 1 + Div. 2) / 1994 简证和分析(目前有A-E)
(本文不是正常的题解,纯属自娱自乐的证明,有错欢迎指出)
A. Diverse Game
x -> x % size + 1即可
B. Fun Game
可以发现只能用前面的数更新后面的
对于前面的一段0,显然不能改变它们,因为用它们异或前面的一个0还是0
设第一个1在p,对于p及后面的数,可以变成任意的。
具体方法是:若要改变第i位,选择区间[i-p+1, i]即可。
由于p前面都是0,所以不会改变其它位。
注意到[1, p]区间是合法的,即可以改变第p位。(这个操作需要放在最后)
C. Hungry Games
简单dp题。
D. Funny Game
从大到小枚举x并连边。
显然第x轮至少有x + 1个连通块。
对于每个连通块,选出一个代表元讨论。
根据容斥,至少有两个modx同余,连边即可。
于是每一轮都能连边,自然就是树了。
E. Wooden Game
诈骗题。
首先每种size都可以到达比它小的任意数to,删size - to次叶子即可。
任意顺序去枚举树,假如现在答案是ans
我们应该贪心的做,从高到低枚举,如果这位还不是1,那么就填上。
正确性是不难的:
如果永远不填上这一位,肯定不对
否则之后有一次填上这一位。
变成让当前这次填上这位,之后那次把当前位之后的位全部变成1。
而高位不会受影响。显然是不劣的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具