Loading

P11630 [WC2025] 士兵

和 CSP-2024 T3 染色线段树做法本质一样。

考虑固定每个位置的次数后我的总操作次数只和相邻对有关(就是经典铺设道路结论),那么,记录 \(f_{i, j}\) 为到了 \(i\) 操作了 \(j\) 次的方案数,考虑到对于每个 \(j\) 都可以让 \(i + 1\) 顺承 \(i\) 的次数做到没有贡献,除非有两种情况:

  • \(b_i > 0\) 且我想要拿走这个贡献,则次数更改为 \(a_i\)
  • \(b_i < 0\) 且我不想拿走这个贡献,则次数更改为 \(a_i - 1\)

注意到 \(f_i\)\(f_{i + 1}\) 只更改了常数个位置,利用线段树维护 \(j\) 那一维,简单的改一下查询一下即可。

posted @ 2026-01-23 20:56  Alexande  阅读(2)  评论(0)    收藏  举报