AtCoder Beginner Contest 372(A - F)
A:直接输出。
B:把 \(M\) 三进制拆分,最多 10 位,每位最多为 2,\(N \le 20\) 足够了。
C:暴力修改,每次只产生 \(O(1)\) 影响。
D:预处理 st 表,二分每个 \(j\) 会断哪些 \(i\) 产生贡献,差分一下。
E:启发式合并平衡树,\(k\) 更大也能做。
F:只保留有特殊边经过的点,把 \(i, j\) 之间的 \(j - i\) 条边替换成权值为 \(j - i\) 的一条边。
\(f(i, j)\) 表示走了 \(j\) 步,以特殊点 \(i\) 结尾的路径个数。两个相邻特殊点间的平凡点 \(l\) 对答案的贡献为 \(f(i, k - (l - i))\)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】