2015年5月31日

kb-07线段树-12--二分查找区间边界

摘要: 1 /* 2 hdu4614 3 本题刚开始想能不能记录该区间最前面开始的点,最后面的点,区间空的数量;但是病不行 4 然后线段树的本质是区间操作,所以!这题主要就是区间的空的全放满,只要定出区间的边界就好办了; 5 这里用二分查找的方法,现计算满足数量的区间的尾... 阅读全文

posted @ 2015-05-31 23:46 bai_yan 阅读(208) 评论(0) 推荐(0) 编辑

kb-07线段树--11--区间多重该值多种查询

摘要: 1 /* 2 lazy思想的运用,因为查询多种,如果全记录就太繁了,lazy就是如果该区间的每一个叶子的状态都相同就不用深入下去该值,只要暂时标记下,查询的时候也不用下去,直接计算; 3 4 */ 5 #include 6 #include 7 #include 8 #i... 阅读全文

posted @ 2015-05-31 23:37 bai_yan 阅读(213) 评论(0) 推荐(0) 编辑

kb-07线段树--10--dfs序建树

摘要: 1 /* 2 hdu3974 3 dfs序建树,然后区间修改查询; 4 */ 5 #include 6 #include 7 #include 8 #include 9 #define MAX_N 50005 10 using namespace std; 11 ... 阅读全文

posted @ 2015-05-31 23:32 bai_yan 阅读(350) 评论(0) 推荐(0) 编辑

kb-09-线段树--区间合并比较繁

摘要: 1 /* 2 hdu-1540 题意:一个线段,长度为n,三种操作,Dx,挖掉某个点;R,恢复最近被挖掉的点;Qx查询该点所在的连续区间的长度; 3 树的节点维护三个变量,该节点左边界开始连续的个数ll,右边界开始向左连续的个数rl,(在该区间内),该区间内最大的连续区间的长度m... 阅读全文

posted @ 2015-05-31 23:01 bai_yan 阅读(154) 评论(0) 推荐(0) 编辑

kb-07线段树-08--区间开根

摘要: 1 /* 2 hdu-4027 3 题目:区间开根求和查询; 4 因为是开根,所以要更新的话就要更新到叶子节点。如果区间里全是1或是0的话就步用继续更新了,查询的时候正常查询; 5 */ 6 #include 7 #include 8 #include 9 #... 阅读全文

posted @ 2015-05-31 19:37 bai_yan 阅读(218) 评论(0) 推荐(0) 编辑

kb-07-RMQ线段树--07(动态规划)

摘要: RMQ是一类解决区间最值查询的算法的通称;、一共有四类;在代码中有说明;下面是ST算法,就是动态规划做法;来看一下ST算法是怎么实现的(以最大值为例):首先是预处理,用一个DP解决。设a是要求区间最值的数列,f[i,j]表示从第i个数起连续2^j个数中的最大值。例如数列3 2 4 5 6 8 1 2... 阅读全文

posted @ 2015-05-31 01:01 bai_yan 阅读(140) 评论(0) 推荐(0) 编辑

导航