摘要: "题目链接 $Click$ $Here$" 线段树合并,没想到学起来意外的很简单,一般合并权值线段树。 建树方法和主席树一致,即动态开点。合并方法类似于$FHQ$的合并,就是把两棵树的信息整合到一个里面。暂时没写过定义域不同的线段树合并,具体方法也想象不出来,写到了再详细讲吧。 算法复杂度:均摊$O 阅读全文
posted @ 2019-03-18 21:00 maomao9173 阅读(112) 评论(0) 推荐(0) 编辑
摘要: "题目链接 $Click$ $Here$" $Kruskal$重构树的好题。想到的话就很好写,想不到乱搞的难度反而相当高。 按照点的水位,建出来满足小根队性质的$Kruskal$重构树,这样一个点的子树里的点就是所有可以开车到达的点。做一遍最短路预处理,然后树上求一个子树$min$,就可以得到子树里 阅读全文
posted @ 2019-03-18 17:30 maomao9173 阅读(98) 评论(0) 推荐(0) 编辑
摘要: "题目链接 $Click$ $Here$" 假的主席树。。。实际上就是树链剖分维护十万棵动态开点的线段树,写起来和主席树比较相似。 真的是不能思维僵化啊,写题的时候一定要保证思考方向灵活$+$正确。 cpp include using namespace std; const int N = 100 阅读全文
posted @ 2019-03-18 16:03 maomao9173 阅读(264) 评论(0) 推荐(0) 编辑
摘要: "题目链接 $Click$ $Here$" 差分主席树,就是把主席树做成一个差分前缀和的形式,还是很容易想到的。 写主席树的时候几个注意点: 查询可能开始于所有任务之前,二分任务点要把左边界设置为$0$ 记得开$longlong$ 主席树通用细节:查询结束后的边界可能有残余答案未统计。即一个权值里的 阅读全文
posted @ 2019-03-18 09:50 maomao9173 阅读(121) 评论(0) 推荐(0) 编辑