随笔分类 -  启发式合并:线段树启发式合并

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