随笔分类 - 启发式合并:线段树启发式合并
摘要:传送门: 解题思路: 很坑的一道题,需要离线处理,假如只有一组询问,那么就可以直接将endpos集合直接累加输出就好了。 这里就要将询问挂在树节点上,在进行线段树合并时查询就好了。 代码超级容易写挂的。 注意要将匹配串时尽量找到最浅根,易于统计答案。 倍增处理就好了。 代码:
阅读全文
摘要:Description Input 第一行包含一个整数n(≤100000)。 第二行是长度为n的由0到9组成的字符串。 第三行是一个整数m。 接下来m≤5·10行,第i行是一个由0到9组成的字符串s,保证单行字符串长度小于等于10^5,所有字符串长度和小于等于3·10^6 第一行包含一个整数n(≤1
阅读全文
摘要:Description 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛 到达另一个岛。如果从岛 a 出发经过若干座(含 0 座)桥可以到达岛 b,则称岛 a 和岛
阅读全文
摘要:题目大意: 一颗树,想要在树链上添加同一物品,问最后每个点上哪个物品最多。 解题思路: 1.线段树合并 假如说物品数量少到可以暴力添加,且树点极少,我们怎么做。 首先在一个树节点上标记出哪些物品有多少,寻找道路上的节点暴力添加。 而如果节点比较多,我们使用树上差分u+1,v+1,lca-1,fa[l
阅读全文