注意添加到集合中的数是升序的,先将数据读入,再离散化。 sum[rt][i]表示此节点的区域位置对5取模为i的数的和,删除一个数则右边的数循环左移一位,添加一个数则右边数循环右移一位,相当于循环左移4位,线段树与树状数组结合,树状数组确定位置。 le[rt]表示左移的位数,区间更新懒惰标记 为什么我 ...
分类:
其他好文 时间:
2016-08-24 14:30:47
阅读次数:
170
给你插入,删除的操作,维护一个降序排列的表,查询所有下标模5等于3的元素和。2012年成都网络赛的一道签到题。但是还是搜了题解才做出来了,意志不坚定啊。。。这道题给10s的时间,做法多种多样。最暴力的方法是维护一个数组,插入删除靠移动元素实现,巧妙的姿势可以用8点多秒通过。注意G++过不了但C++可...
分类:
其他好文 时间:
2015-09-07 00:29:14
阅读次数:
178
27号的十道离线线段树hdu4288: (2012成都网络赛&&cf)#include#include#include#include#include#define lson l,m,rtr) return; if(l==r){ T[rt].cnt=0; for(i...
分类:
其他好文 时间:
2015-08-27 02:07:31
阅读次数:
166
主题链接:huangjing题意:题目中给了三个操作1:add x 就是把x插进去2:delete x 就是把x删除3:sum 就是求下标%5=3的元素的和。另一个条件是插入和删除最后都要保证数列有序。。。首先告诉一种暴力的写法。。由于时间很充足,须要对stl里面的函数有所了解。。就是直接申明一个v...
分类:
其他好文 时间:
2015-07-07 19:17:41
阅读次数:
152
题意:
hdu4288
有3种操作:1.往集合里加入元素 2.删除集合里的元素 3.对集合里下标模5等于3的元素求和
加入和删除元素就是线段树里的单点更新,但第三种操作就不那么显然了。由于需要求和的元素都是模5等于3的等间隔的点,当我们对一个节点进行更新的时候,它的左子结点的满足条件的下标在这个节点肯定也满足条件,但右子节点模5等于3的下标并不是这个节点的模5等于3的下标,因为当...
分类:
其他好文 时间:
2015-06-10 08:55:33
阅读次数:
162
http://acm.hdu.edu.cn/showproblem.php?pid=4288
Problem Description
In mathematics and computer science, an algorithm describes a set of procedures or instructions that define a procedure...
分类:
其他好文 时间:
2015-04-06 21:53:41
阅读次数:
243
题目链接:
huangjing
题意:
题目中给了三个操作
1:add x 就是把x插进去
2:delete x 就是把x删除
3:sum 就是求下标%5=3的元素的和。
还有一个条件是插入和删除最后都要保证数列有序。。。
首先告诉一种暴力的写法。。因为时间非常充足,需要对stl里面的函数有所了解。。
就是直接申明一个vector的容器,然后直接用vector里面的操作比如...
分类:
其他好文 时间:
2014-10-14 00:39:57
阅读次数:
295
Coder
Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3183 Accepted Submission(s): 1254
Problem Description
In mathematics a...
分类:
其他好文 时间:
2014-09-03 15:04:36
阅读次数:
246
题目大意:add即像数字串中添加数字,del n 删除数字串中值为n的元素。sum 按照所给公式求和。
坑点:所给的数字是由小到大排序的,需要注意的是后面如果add一个数字,需要放到合适的位置。比如 3,4,7,9, 如果add 6,6需要放在4,7之间。
这道题一直超时,关键在删除值为n的元素的时候会超时,因为需要遍历。 所以使用二分搜索找到插入n的位置以及删除n的位置。
...
分类:
其他好文 时间:
2014-09-03 15:04:06
阅读次数:
177