2024Oct&Nov杂题

CF1093F Vasya and Array CF LG

用时:5 分钟

code

放过 \(O(nk)\) 那这题不就是送的了么?

有一个显而易见的 DP,设 \(f_{i,j}\) 表示考虑前 \(i\) 个,第 \(i\) 个数最终是 \(j\) 的方案数。

有:\(f_{i,j}=\sum_{\max(0,i-len+1) \leq k < i}\sum_{c \neq j}f_{k,c}[[k+1,i] 中只有 j 与 -1]\)

交换求和顺序:

\[f_{i,j}=\sum_{\max(0,i-len+1) \leq k < i}[[k+1,i] 中只有 j 与 -1]\sum_{c \neq j}f_{k,c} \]

那个艾弗森括号决定了可以转移的 \(k\) 是一个以 \(i\) 结尾的区间。\(k|([k+1,i] 中只有 j 与 -1)\) 的最小位置是容易维护的,再跟 \(i-len+1\) 取个 \(\max\) 即可。

维护 \(\sum_{c \neq j}f_{k,c}\) 以及他的前缀和就做完了。

P2664 树上游戏 LG

CF53E Dead Ends CF LG

AT_awtf2024_b 01 Inversion Expected AT LG

posted @ 2024-10-10 22:24  Aysct  阅读(34)  评论(0)    收藏  举报