随笔分类 -  数据结构_线段树

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