07 2018 档案
摘要:原理 1、对于修改的值,在线段树中只会从该点到根的一条链中的信息被修改,我们对这些被修改的结点新建点,其他不变的点连回原来的线段树结点。这样就实现了历史版本的保存和新版本的建立。 2、对于[1,n]的数组(离散化排序),对每个前缀维护一颗线段树。 3、对树上的区间查询,以到根的距离作为“前缀”维护主
阅读全文
摘要:思想 点分治就是采用分治的思想递归处理子树,用容斥去除重复的贡献。 1、找到树的重心。 2、从当前树的重心开始,加上经过该重心的贡献,减去在同一棵子树的贡献,再对每一棵子树,重新寻找树的重心,重复2. 时间复杂度:O(nlogn*计算贡献时间) 题目 1、Tree POJ - 1741 题意:有一棵
阅读全文
摘要:模板参考:https://blog.csdn.net/saramanda/article/details/55253627 综合各位大大博客后整理的模板: 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 const i
阅读全文
摘要:1、hdu 3966 Aragorn's Story 题意:敌人有n个帐篷,每个帐篷有初始人数,两两之间只有一条路径。现在进行q次操作,可以把c1到c2路径上的所有帐篷人数都加上或减去一个值,或者询问某个帐篷当前人数。 思路:树链剖分模板题,线段树,点权,区间更新,单点查询。 1 #include<
阅读全文

浙公网安备 33010602011771号