码迷,mamicode.com
首页 >  
搜索关键字:区间    ( 16036个结果
BZOJ 1878 SDOI 2009 HH的项链 树状数组 + 离线处理
题目大意:有一些珠子串成的项链,珠子有不同的颜色。多次询问一段区间内有多少不同的颜色。 思路:这个题让我学会了一种巧妙的离线做法。将问题按左端点排序。处理出来每个颜色第一个出现的位置,和每个颜色下一个出现的位置。然后1到cnt循环,如果这里有一个问题的左端点是当前节点,就处理他的答案,方法是前缀合,可以用树状数组。然后把这个颜色的下一个出现的位置+1。 这样做就避免了一种颜色在询问中被...
分类:其他好文   时间:2014-10-01 15:21:51    阅读次数:205
hdu 3308 LCIS(线段树)
题目链接:hdu 3308 LCIS 题目大意:给定一个序列,两种操作: Q l r:查询区间l,r中的最长连续递增序列长度U p x:将位置p上的数改成x 解题思路:线段树上的区间合并,这是在左右子树合并的时候要判断一下是否满足递增即可。 #include #include #include using namespace std; const int maxn =...
分类:其他好文   时间:2014-10-01 14:47:51    阅读次数:243
BZOJ 1858 SCOI 2010 序列操作
题目大意:维护一种01数据结构,它可以: 1.把一段区间变成0。 2.把一段区间变成1。 3.把一段区间取反。 4.查询一段区间内1的个数。 5.查询一段区间内连续的1的个数。 思路:一眼看去Splay和线段树都可以,看起来好像Splay维护起来好弄一点,就没怎么想写了Splay。写完之后才发现Splay维护的时候边界值根本没法弄(可能是我写的麻烦),就又重写线段树。啊啊啊啊现...
分类:其他好文   时间:2014-10-01 13:33:11    阅读次数:346
hdu 5044 树区间操作最后输出/ lca+dfs
题意:一棵树,俩种操作:1 有路径上的所有点加vi,2所有边加vi。  先离线求出所有询问的lca,再遍历询问一次,点+vi,lca-2*vi ,最后dfs从叶子扫上来一次,最后再祖先点补上即可。用了输入挂。复杂度(n+m). #pragma comment(linker,"/STACK:10240000000000,10240000000000") #include #include #in...
分类:其他好文   时间:2014-10-01 13:08:21    阅读次数:160
HDU 3966 Aragorn's Story(树链抛分)
HDU Aragorn's Story 题目链接 树抛入门裸题,这题是区间修改单点查询,于是套树状数组就OK了 代码: #include #include #include #include using namespace std; const int N = 50005; inline int lowbit(int x) {return x&(-x);} i...
分类:其他好文   时间:2014-09-30 14:37:49    阅读次数:199
区间估计
分类:其他好文   时间:2014-09-30 04:43:12    阅读次数:177
hdu5057 分块处理,当数值大于数据范围时树状数组 真是巧 将大数据分为小数据来处理
这题说的给了100000个数有100000次操作 询问 L和R 区间内 在D位上为P的个数,用树状数组存 要开[10][10][100000]的int 开不了但是能开 这么大的unsign short 这样我们将这个树状数组一分为二 50000 个位前面 50000 为后面 我们知道unshort ...
分类:其他好文   时间:2014-09-29 23:45:51    阅读次数:322
hdu3473 线段树 划分树
1 //Accepted 28904 KB 781 ms 2 //划分树 3 //所求x即为l,r区间排序后的中位数t 4 //然后求出小于t的数的和sum1,这个可以用划分树做 5 //求出整个区间的和sum,可以用O(1)的数组做 6 //ans=(k-1)*t-sum...
分类:其他好文   时间:2014-09-29 23:44:21    阅读次数:305
hdu4417 划分树+二分
1 //Accepted 14796 KB 453 ms 2 //划分树 3 //把查询的次数m打成n,也是醉了一晚上!!! 4 //二分l--r区间第k大的数和h比较 5 #include 6 #include 7 #include 8 #include 9...
分类:其他好文   时间:2014-09-29 23:35:51    阅读次数:229
划分树
引用网上的一些介绍:查找整序列的第k大值往往采用快速查找法。然而此方法会破坏原序列,并且需要O(n)的时间复杂度。抑或使用二叉平衡树进行维护,此方法每次查找时间复杂度仅为O(logn)。然而此方法丢失了原序列的顺序信息,无法查找出某区间内的第k大值。划分树的基本思想就是对于某个区间,把它划分成两个子...
分类:其他好文   时间:2014-09-29 22:54:41    阅读次数:226
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!