2015年6月2日

树状数组--求逆序对-离散化

摘要: 1 #include 2 #include 3 #include 4 #include 5 #define ll long long 6 #define MAX 500005 7 using namespace std; 8 9 struct Node10 {11 int val,po... 阅读全文

posted @ 2015-06-02 16:12 bai_yan 阅读(149) 评论(0) 推荐(0) 编辑

树状数组--前n项和;

摘要: 树状数组是和线段树类似的数据结构,基本上树状数组可以做的线段树都可以做;树状数组就是一个数组,在信息记录上有一些特点,以动态求前n项和为例:可以改变数组的某一个元素,求前n项和;数组tree[ i ]记录的是A[ i - lowbit ( i )+1]~A[ i ]的和,lowbit(i),表示i的... 阅读全文

posted @ 2015-06-02 12:19 bai_yan 阅读(324) 评论(0) 推荐(0) 编辑

2015年5月31日

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

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

posted @ 2015-05-31 23:46 bai_yan 阅读(210) 评论(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 阅读(215) 评论(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 阅读(351) 评论(0) 推荐(0) 编辑

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

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

posted @ 2015-05-31 23:01 bai_yan 阅读(156) 评论(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 阅读(220) 评论(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 阅读(141) 评论(0) 推荐(0) 编辑

2015年5月30日

kb-07线段树-06离散化(与第四题类似)

摘要: 1 /* 2 zoj1610 3 这题是离散化,区间特殊查询的,和之前的第4 题是异曲同工的 4 */ 5 #include 6 #include 7 #include 8 #include 9 using namespace std; 10 struct Node... 阅读全文

posted @ 2015-05-30 23:42 bai_yan 阅读(157) 评论(0) 推荐(0) 编辑

kb-07线段树-05-区间整体修改查询;(水)

摘要: 1 /* 2 3 4 */ 5 #include 6 #include 7 #include 8 using namespace std; 9 struct P10 {11 int l,r,value;12 int add;13 }tr[400005];14 void P... 阅读全文

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

导航