链接:click here
题意:
描述 You want to processe a sequence of n distinct integers by swapping two adjacent sequence elements until the sequence is sorted in ascending order. Then how many times it nee...
分类:
编程语言 时间:
2015-02-25 21:10:08
阅读次数:
153
Computer
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3731 Accepted Submission(s): 1886
Problem Description
A school bought the...
分类:
其他好文 时间:
2015-02-25 17:13:17
阅读次数:
123
ComputerTime Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3731Accepted Submission(s): 1886Problem De...
分类:
其他好文 时间:
2015-02-24 19:49:53
阅读次数:
161
又浪了一天……整理下学的,这两天都温习(预习)一下吧。27号就是gdkoi了好怕……数据结构------树-------------平衡树-------------线段树/树状数组-------------树套树-------------可持久化还有主席树-------------树链剖分-----...
分类:
其他好文 时间:
2015-02-24 16:17:51
阅读次数:
154
大致题意:给出矩阵左上角和右下角坐标,矩阵里的元素 1变0 ,0 变1,然后给出询问,问某个点是多少.
每次变化操作相当于把区间上的值全加一,然后对查询的结果模二即可
这是树状数组第二种模式的应用:
Up()表示修改区间,Down()表示求单点的值。
Down()表示修改区间,Up()表示求单点的值。
http://www.topcoder.co...
分类:
编程语言 时间:
2015-02-24 15:12:09
阅读次数:
240
收获: 1、分块时顺便记录每个位置所属的块,然后一次排序就OK了。 2、要权衡在“区间移动”与“查询结果”之间的时间,莫队算法一般区间移动频率远大于查询结果,所以我们选择的辅助数据结构时就要注意了,我最开始写的是值域线段树,自己生成的极限数据要1m8s,改成树状数组后要24s,还是过不了,hzw.....
分类:
其他好文 时间:
2015-02-23 14:15:44
阅读次数:
167
题意:给定一个n个元素的数列,令Ai, Aj, Ak,使得 Ai Ak 且 i
思路:可以用树状数组,每次输入一个Ai,可以查询到之前输入的比它小或比它大的有多少组,之后输入的就不得而知了,所以可以开个数组记录下来逆序再建树一次即可
另外数的范围取到了0,所以每个数要自加一次,而且组数是longlong的,而且HOJ的服务器系统支持的是lld,不是i64d..wa了几次
#inclu...
分类:
编程语言 时间:
2015-02-23 10:53:06
阅读次数:
160
题意:一个H * W的大矩形,里面的某些格子种有树。现在要你找出一个h * w的小矩形,使得里面树的数量最多,问最多有多少棵树
是二维树状数组基础用法,边输入边更新有树的点,建完树后就可以查询每个(1,1)到(x,y)为对顶点的矩形中共有多少棵柿子树。
算法复杂度 O(H*W*lgH*lgW)
但是由于这题的柿子树一旦确...
分类:
编程语言 时间:
2015-02-23 09:41:08
阅读次数:
180
题意:在一个S*S的正方形内,有两种操作
1 X Y A 是在(X,Y)这个点加A
2 X1 Y1 X2 Y2 查询(X1,X2)
到 (Y1,Y2) 这个矩形范围内手机的数量
而且数据的边界也是从0开始用树状数组的时候要加一处理
对于求矩形面积用一个大的矩形剪去三个边界的小矩形即可
ans=query(x2,y2)-query(x2,y1-1)-query(x1-1,y2)...
分类:
编程语言 时间:
2015-02-22 21:59:14
阅读次数:
318
题目大意就是说帮你给一些(n个)乱序的数,让你求冒泡排序需要交换数的次数(n
显然不能直接模拟冒泡排序,其实交换的次数就是序列的逆序对数。
由于数据范围是 0 ≤ a[i] ≤ 999,999,999所以先要离散化,然后用合适的数据结果求出逆序
可以用线段树一步一步添加a[i],每添加前查询前面添加比它的大的有多少个就可以了。
也可用树状数组,由于树状数组求的是(1...x)的数量和所以每...
分类:
编程语言 时间:
2015-02-22 20:47:46
阅读次数:
200