ARC127 比赛记录
打烂了。
被 A 卡了。
胡了 B 然后直接 skip 了。
被 C 卡了较长时间。
回头过 B。
卡了 D。
A
所有前缀数前缀 个数和。
求出至少有一个长度为 的前缀 的个数之和。
枚举 然后枚举这个前缀出现位置即可。
复杂度 。
B
直接构造。
发现第一位肯定有 个 和 个 和 个 。
然后第一位的 和 不管只需要第一位的 后面跟着的最小即可。
直接暴搜搜出前 个最小的,然后直接填即可。
C
直接做做完了。
考虑先整体减一,第一位肯定是 然后诸位确定。
如果当前数是 ,那结束了。
否则如果属于 肯定是 ,否则是 。
如果属于 那最高位就是 否则是 所以可以 判断。
然后如果最高为是 就减 否则删去最高位。
根据结论对于一个二进制模拟进位复杂度均摊是 的。
然后判断是否全 直接动态维护当前全局 个数即可。
D
卡 @AhoCorasick 的
我们需要判断 和 的关系。
考虑比较两个二进制数,是找到他们最高不相同位置然后比较,本质上就是 。
那我们对于每个 我们把 作为代表,那两个数不同只需要比较代表元最高的不同位即可。
我们考虑在最高不同位处统计贡献。
考虑把所有当前这位是 的答案塞到桶里去,然后在对每个 在桶里查询。
有贡献当且仅当:它之前相同(信息量 ),当前这位不同。
然后贡献计算需要每位拆开,同时还需要记录贡献的是 还是 。
这里直接分类讨论一下即可。
总复杂度是 。
E
草,思维题!!!
考虑把最终集合排序,然后找到字典序最大的。
显然就是每次 操作插入 时最大。
如果字典序大于这个最大字典序肯定无解(听君一席话)
如果小于,必定有解。
考虑构造,设那些在答案中出现的为目标状态,然后从小到大排序。
从小到大逐个插入,如果碰到 就拿个不是答案来“垫背”。
可以证明对于每个数“垫背”的数一定存在,所以它肯定可以被构造。
然后搞个 dp
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理