专栏文章

CF889E Mod Mod Mod 题解

CF889E题解参与者 2已保存评论 1

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
1 条
当前快照
1 份
快照标识符
@mip1ib28
此快照首次捕获于
2025/12/03 04:38
3 个月前
此快照最后确认于
2025/12/03 04:38
3 个月前
查看原文
首先我们有一个倒着 DP 的做法就是你维护 fi,jf_{i,j} 表示 ii 之前的取模不生效的情况下,X<jX<j 的答案。
转移找到首个 ak<ja_k<jkk,令 c=j/akc=\lfloor j/a_k \rfloor,有 fi,j=max(fk,ak+ak(c1)(k1),fk,jmodak+akc(k1))f_{i,j}=\max(f_{k,a_k}+a_k(c-1)(k-1),f_{k,j\bmod a_k}+a_kc(k-1)),这么转移是因为 <j<j 的数中只有最大的 aka_k 个数有用,分为最大的 jmodakj\bmod a_k 个数和去掉余数后最大的 aka_k 个数转移。
这里有用的状态显然只有每个点出发取模的断点(对于每个 iiaimodai+1modai+2modana_i \bmod a_{i+1}\bmod a_{i+2}\dots \bmod a_naia_i 发生变化的位置),共 O(nlogV)O(n\log V) 个。容易用 P11692 求出所有状态然后直接转移。
时空复杂度 O(nlogV)O(n\log V),空间不能通过,我感觉时间也不能过。

评论

1 条评论,欢迎与作者交流。

正在加载评论...