2015年8月27日
摘要: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std; 10 #define N 10010 11... 阅读全文
posted @ 2015-08-27 17:32 Love风吟 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 树链剖分模板题 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 #define N 50010 7 #define ls o>1 10 #define ll long long 11 in... 阅读全文
posted @ 2015-08-27 17:30 Love风吟 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给出一棵树,每个点有一个权值,要求三种操作:1.修改某个点的权值,2.询问x到y路径上各点的权值最大值,3.询问x到y路径上各点的权值之和。 1 #include 2 #include 3 #include 4 #include 5 using namespace std... 阅读全文
posted @ 2015-08-27 17:29 Love风吟 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 题目大意:指定一颗树上有3个操作:询问操作,询问a点和b点之间的路径上最长的那条边的长度;取反操作,将a点和b点之间的路径权值都取相反数;变化操作,把某条边的权值变成指定的值。 1 #include 2 #include 3 #include 4 5 using namespace... 阅读全文
posted @ 2015-08-27 17:26 Love风吟 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个数,边之间有权值,然后两种操作,第一种:求任意两点的权值和,第二,修改树上两点的权值。 1 #pragma comment(linker, "/STACK:1024000000,1024000000") 2 #include 3 #include 4 #include 5... 阅读全文
posted @ 2015-08-27 17:24 Love风吟 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题意:给一棵树,并给定各个点权的值,然后有3种操作:I C1 C2 K: 把C1与C2的路径上的所有点权值加上KD C1 C2 K:把C1与C2的路径上的所有点权值减去KQ C:查询节点编号为C的权值 1 #pragma comment(linker, "/STACK:1024000000,102... 阅读全文
posted @ 2015-08-27 17:21 Love风吟 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题目大意:树上找到有多少条路径的边权值和>=k这里在树上进行点分治,需要找到重心保证自己的不会出现过于长的链来降低复杂度 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 #... 阅读全文
posted @ 2015-08-27 17:16 Love风吟 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 静态区间第k大的问题,往往可以利用主席树来解决这是主席树的第一道题主席树大概可以理解为在n个节点上都建立一棵线段树,但是想想会超出内存每一个节点保存的线段树都记录当前整段前缀区间的信息但是因为每次添加后一个节点,那么他除了当前节点位置需要更新之外,其他的位置都可以保持跟上一棵节点对应的线段树一致,那... 阅读全文
posted @ 2015-08-27 10:32 Love风吟 阅读(322) 评论(0) 推荐(0) 编辑