日记

日记

Fri May 23 2025
3 label.readTime
447 label.wordCount

为啥会背疼啊?

Final C Link to

设 dpi,jdp_{i,j} 表示已经选了 ii 根弦,第 ii 根弦在二进制下又 jj 位是 11 的方案数。初始化 dp0,0=0dp_{0,0} = 0,转移就是 dpi,j=∑k=032−jdpi−1,k×(32−kj)dp_{i,j} = \sum\limits_{k = 0}^{32 - j}dp_{i - 1,k} \times \binom{32 - k}{j}。最终答案就是 ∑i=1n∑j=032dpi,j\sum\limits_{i = 1}^{n}\sum\limits_{j = 0}^{32}dp_{i,j}。

就是没想到最终答案。

Alex Combines Link to

我们发现对于每个区间,左端点也不是定的,右端点也不是定的。这十分的麻烦。考虑固定一个左端点或者右端点来考虑。

设 fif_i 表示 [i,fi)[i,f_i) 这段区间是合法的。显然这玩意可以 O(n)O(n) 预处理。查询的时候暴力一点:如果 fl≤rf_l \le r,ll 就跳到 flf_l,ansans 加 11。注意 ansans 初始为 11。

看到这一就应该自然而然的想到倍增了。

最长 k 可重区间集 Link to

建边就这样建:先离散化,i−1→ii - 1 \to i 建一条容量 kk,费用 00 的边,对于每个区间,l→rl \to r 建一条容量 11,费用 r−l+1r - l + 1 的边,s→1s \to 1 建一条边,容量 kk,费用 00,n→tn \to t 建一条容量 kk,费用 00 的边,跑最大流就是了。

如何理解?我们发现如果有 xx 条边重合了,那么一定需要至少 xx 的流量。

星际转移 Link to

枚举时间,在时间和下一站之间建边。

后日谈 Link to 后日谈

今天还没消掉 24∘24^\circ 空调给的 debuff。。。