摘要:
估计这几天是正式学习 ddp,所以特写笔记。 DDP 简介 是这样一类技巧,利用广义的矩阵乘法实现 单点修改权值,动态查询某个点的 DP 值 关于 矩阵乘法,广义矩阵乘法 其核心思想是利用矩阵乘法具有结合律(可以使用数据结构维护)的优势 序列上的 Ddp 先看一个例子:最大子段和,显然我们有 \(f 阅读全文
摘要:
参考资料: Slope Trick - CCComfy - 博客园 Slope trick 学习笔记 - henrici3106 - 博客园 Slope Trick 总结 - rui_er - 博客园 定义 Slope Trick 是一类具有凸性的最优化 DP 的优化手段,其具有效率高,空间小,易于 阅读全文
摘要:
F 还没来得及看,不想看了。 contest link A 显然你可以用一个堆直接贪心,将每组牛按照 \(s\) 分类,直接扫过去,当加入 \(s=i\) 的牛的时候,现在还在堆里的牛显然就有相同的起点,则其终点越近越优,所以加入牛 \((e,m)\) 的时候判断当前容量是否足够,如果不够是否需要弹 阅读全文
摘要:
时隔两年,终于找到了做当年CSP-J的感觉 害,一到落笔之时竟无从起笔。 先复述一下考场过程吧。 Day 1 2:15 来到考场,进去了,亲切的lhy还在问我为啥这么慢。。。 不过一进考场就刚好能进机房还是不错的 2:20 拿着电脑,哎,为啥我这个电脑按 shift 切不了中英文?当时认为手动切英文 阅读全文
摘要:
link A 显然只需要考虑质因子。 首先 \(k\) 只有一个质因子可以特判,有两个可以 exgcd 有三个及其以上那么最小的一个 \(\le 10^5\),同余最短路即可。 B 考虑一个序列 $\lbrace x|x=a_ib_i^t,t\in \mathbb{N}\rbrace $,对于一个质 阅读全文
摘要:
参考:IOI2021 国家集训队论文 胡昊 以下表示字符串的下标都是 \([0,|S|-1]\),设 \(n\) 为最后一项下标也就是 \(|S|-1\) 定义 定义简单串 \(S\) 指 \(\forall i\in [1,|S|-1],S[i,n]>S\),也即 任意真后缀大于 \(S\) 定义 阅读全文
摘要:
link A 显然可以分治计算,我们只需要计算跨过中点(含 \(t\) 也就是的匹配次数,就可以递归处理) 那么这就相当于是枚举匹配位置,查前面的后缀和后面的前缀能否匹配,可以暴力地贪心扩展若干轮直到 \(|s_i|\ge 10^6\),这时候直接利用哈希判断即可。 复杂度大概是 \(O(\sum 阅读全文
摘要:
建议看到结论之后直接画图自己推 目前定义 \(s[l,r]\) 为字符串 \(s\) 的 \([l,r]\),定义 \(nxt_i\) 为 KMP 算法所得。 定义: \(s[1,i]=s[n-i+1,n]\),则称 \(s[1,i]\) 是 \(s\) 的一个 border 可能证明会比较浅显,但 阅读全文
摘要:
E 这个最大分值显然是:设 \(c[i]\) 为元素 \(i\) 的出现次数,做前缀 \(min\),然后求和 考虑到我们只关心各个元素的出现次数,那么设原本序列是 \(cnt\),子序列的是 \(b\) 则需要乘上一个组合数 \(\prod {cnt[i] \choose b[i]}\) 设 \( 阅读全文
摘要:
长链剖分 额,其实和树剖差不多,对于每个节点 \(u\) 维护 \(mxd_u\) 为子树内节点深度最大值。 那么令 \(Son(u)\) 里取到 \(mxd_v\) 最大的儿子 \(v\) 为长儿子,类似重链剖分处理即可。 同样令连接不同长链的两个点之间的边为虚边。 有如下性质: 从根到节点 \( 阅读全文