一次AC
二维树状数组,有模版很好办
注意二维树状数组这个下标是[1][1]的
#include
#include
#include
#include
#include
#include
using namespace std;
const int Max = 1030;
int row, col, ar[Max][Max];
// 二维的其实下标为[1][1],这个要记得。
...
分类:
其他好文 时间:
2014-05-21 16:23:34
阅读次数:
271
题目链接:POJ 2828 Buy Tickets【题意】给了你 n(1 7 #include
8 #include 9 using namespace std;10 const int MAX = 200005;11 12 int pos[MAX],
val[MAX], ans[MAX];13.....
分类:
其他好文 时间:
2014-05-19 10:10:34
阅读次数:
282
题目链接:HDU 1394 Minimum Inversion
Number【题意】给你一个1~N的数字组成的初始序列,然后每一次都将第一个数字移到最后,形成新的序列,然后求出这些序列的逆序数中的最小值。【思路】开始可以用任意一种方法(线段树
or 暴力 or 树状数组)计算出初始数列的逆序数sum...
分类:
其他好文 时间:
2014-05-19 09:50:31
阅读次数:
282
1: #include 2: #include 3: #include 4: #include 5:
#include 6: using namespace std; 7: 8: #define LL(a) a>1; 32: sub_build(subl,
mid, LL(subidx), idx)...
分类:
其他好文 时间:
2014-05-18 19:43:43
阅读次数:
395
这题那时怎么想就是想不出来……而且今晚没有多大状态,自己都晕了……一题没做出来……
baoge解释好久才懂……唉……线段树,树状数组用得还是不够熟啊……
WA了二发,才知道二分错了,二分好久不用,老是出错了现在……
#include
#include
#include
#include
#define sca(a) scanf("%d",&a)
#define mem(a,b) memset...
分类:
其他好文 时间:
2014-05-15 03:30:49
阅读次数:
223
题意:给一个整数序列(可能有负数),求最短的连续序列使得序列之和大于等于整数x;
解法:第一种是On的复杂度:
我们要的是sum[j]-sum[i]>=x,如果有两个决策j = sum[j'],那么j就是没用的。即维护一个sum[j]递增序列。然后每次可以二分查找,但是这里有个特点就是要得到最近的,可以同时维护一个left指针,left指针用于跟进更...
分类:
其他好文 时间:
2014-05-15 03:20:26
阅读次数:
303
Substrings
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1571 Accepted Submission(s): 459
Problem Description
XXX has an arra...
分类:
其他好文 时间:
2014-05-15 01:35:46
阅读次数:
338
给了你n,然后n个数字在一个数组中,接下来m个询问,每个询问三个数字 t,x,y,若t==0,那么修改区间[x,y]的每一个值,变为原来每个位置上的数 开根号取整,若t==1,那么对区间[x,y]求和
由于n,m,很大,所以树状数组铁定超时,若直接用线段树来做区间修改,那么也是超时,这类题目没别的方法了,静心剪枝,发现题目给的数据范围为2^63,有没有发现,2^63开根号 绝对不需要开1...
分类:
其他好文 时间:
2014-05-12 23:01:59
阅读次数:
479
题意:给你一个长度数列,再给你m个询问(一个区间),问你在这个区间里面有多少个数与其他的数都互质。解题思路:你看这种类型的题目都可以肯定这是
离线+树状数组(线段树)。主要就是他的更新信息。这里我的处理是先把1-200000(每个数的范围)数里面所有的质因子求出来。然后从后往前遍历数组。会出现以下几...
分类:
其他好文 时间:
2014-05-11 14:58:56
阅读次数:
288
刚开始做的时候用线段树做的,然后就跳进坑里了……因为要开方,所以区间的值都得全部变,然后想用lazy标记的,但是发现用不了,单点更新这个用不了,然后就不用了,就T了。然后实在不行了,看了别人的题解,原来是用树状数组+并查集的方法,唉……没想到啊!
因为开方之后多次那个数就会变成1了,所以是1的时候开方下去就没用了。树状数组更新的时候就把其更新的差更新即可,太机智了这题……
昨天做了,然后出错找...
分类:
其他好文 时间:
2014-05-09 22:35:22
阅读次数:
290