随笔分类 - 数据结构-线段树-线段树合并
摘要:[Codeforces1037H]Security(SAM+线段树合并) 题面 分析 CF什么时候也开始出这种套路题了 和[NOI2018]你的名字几乎一模一样,看到区间串问题,用线段树维护right集合,每次沿着转移边走的时候要判断一下转移到的节点的right集合中是否有在内的值.
阅读全文
摘要:[NOI2018]你的名字(后缀自动机+线段树合并) 题面 给出一个字符串,有组询问,每次询问给出一个字符串和整数.问能从中选出多少个本质不同的子串,满足这个子串在的区间没有出现过。 $|S| \leq 5 \times 10^5,q \leq
阅读全文
摘要:[BZOJ 1483] [HNOI2009] 梦幻布丁 (线段树合并) 题面 N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一共有3段颜色. ,颜色编号 $
阅读全文
摘要:[Codeforces 1197E]Culture Code(线段树优化建图+DAG上最短路) 题面 有n个空心物品,每个物品有外部体积和内部体积,如果,那么j就可以套在i里面。现在我们要选出n个物品的一个子集,这个子集内的k个物品全部套在一起,且剩
阅读全文
摘要:[BZOJ3307] 雨天的尾巴(树上差分+线段树合并) 题面 给出一棵N个点的树,M次操作在链上加上某一种类别的物品,完成所有操作后,要求询问每个点上最多物品的类型。 N, M≤100000 分析 考虑树上差分。对于每条链(x,y),我们在x,y打一个+标记,lca(x,y)和lca(x,y)的父
阅读全文
摘要:[51nod 1681]公共祖先(dfs序+线段树合并) 题面 给出两棵n(n include include include define maxn 100000 define maxlogn 25 using namespace std; int n; struct segment_tree{
阅读全文
摘要:题面 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛 到达另一个岛。如果从岛 a 出发经过若干座(含 0 座)桥可以到达岛 b,则称岛 a 和岛 b 是连 通的。
阅读全文