Codeforces Round 937 (Div. 4)
A. Stair, Peak, or Neither?
题面即做法。
B. Upscaling
把一个 2x2 的方格看成一个大方格。
坐标对应:
由于两个符号交错出现,所以考虑 变换后 横纵坐标和 的奇偶性性质。
和为奇 .
,和为偶 #
。
C. Clock Conversion
读入使用:scanf("%d:%d" , &a , &b);
后面就是纯
D. Product of Binary Decimals
预处理出来所有
对于每一个询问的 YES
,否则输出 NO
。
E. Nearly Shortest Repeating Substring
所以暴力枚举长度
预处理因子再暴力扫一遍复杂度为
F. 0, 1, 2, Tree!
性质 1:有解的充要条件为
证明:每多一个拥有 a 节点,就会多一条支路,这条支路最后会导向一个叶子节点。
而为什么跟 b 节点没关系呢,因为 b 节点可以通过在叶子节点的头上挂任意长度的链构造出来。
性质 2:深度最小的构造法是模拟完全二叉树。先挂 a 节点再挂 b 节点再挂 c 节点。
G. Shuffling Songs
无脑状压 dp 。
做法是设
转移方程:从小到大枚举集合
统计答案即枚举集合和结尾并对
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?