随笔分类 - 数据结构_线段树
摘要:简介 某天膜 CaptainSlow 代码的时候发现了一个神奇的东西: inline void Index(int L, int R) { return L + R | L != R; } 通过这个函数寻找线段树节点的下标只需要两倍空间!不动态开点也可以实现两倍空间! (2021.7.14 更新了正
阅读全文
摘要:"题目链接" 问题分析 解法一 简单的一道线段树维护$lmax,rmax,max,sum$即可。 解法二 考虑动态DP。 $$ \begin{aligned} \left [ \begin{matrix} a_i& \infty&a_i\\ a_i&0&a_i\\ \infty & \infty &
阅读全文
摘要:"题目链接" 问题分析 看见字符串,还涉及到子串和前缀的,当然就想到了SAM(~~其实我不会SA~~)。 首先我们把串反一下,就变成了求S[a..b]的所有子串与S[c..d]的最长后缀的长度。 我们把问题说成这样:求是S[a..b]子串的S[c..d]的最长后缀长度。于是我们就可以二分答案,然后判
阅读全文

浙公网安备 33010602011771号