随笔分类 -  树状数组

摘要:http://codeforces.com/contest/459/problem/D题意:给你n个数,然后统计多少组(i,j)使得f(1,i,ai)>f(j,n,aj);思路:先从左往右统计f(1,i,ai)记录在b[i],然后从右往左统计f(j,n,aj)记录在c[i],然后利用树状数组统计个数... 阅读全文
posted @ 2015-03-18 19:33 null1019 阅读(158) 评论(0) 推荐(0)
摘要:题意:给你一个长度为n的只含有1和0的字符串,w个询问,每次询问输入l,r;在[l,r]中在l+k-1、l+2*k-1、......r的位置都必须为1,如果不为1的,变成1,记为一次操作,其它的地方的都必须为0,不为0的地方要变成1,也记为一次操作,最后问在区间[l,r]最少几次操作。思路:可以用树... 阅读全文
posted @ 2015-01-26 17:18 null1019 阅读(148) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/387/problem/E题意:给你n个数,然后在输入k个数,这k个数都在n个数中出现,进行每一次操作就是在n个数中选择长度为w的连续序列,然后删除这w个数中的最小的一个,然后你就会的到w个奖励,如何获得最多奖励?思路:set+数状数组,数... 阅读全文
posted @ 2015-01-25 13:12 null1019 阅读(197) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5122题意:就是经过几个回合可以使得序列变成有序的,求回合数。思路:数状数组。倒着插入,每次求和,判断在这个数前面是不是有数,只要有数就ans++;最后插入完,ans就是答案。 1 #include 2 #inc... 阅读全文
posted @ 2015-01-15 14:20 null1019 阅读(170) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5147题意:问有多少个这样的四元组(a,b,c,d),满足条件是 1 2 #include 3 #include 4 #define maxn 50001 5 #define ll long long 6 us... 阅读全文
posted @ 2015-01-02 19:29 null1019 阅读(172) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2155题意:提供一个M*N的矩阵,其中每一个格子中的数不是1就是0,初始时每一个格子的值为0,我们可以修改这个矩阵中的数字,每次给出矩阵的左上角坐标(x1,y1),以及右下角的坐标(x2,y2),并且将矩阵中的数字全部取反(原来是1现在变成0,原... 阅读全文
posted @ 2014-09-24 11:13 null1019 阅读(153) 评论(0) 推荐(0)
摘要:http://acm.timus.ru/problem.aspx?space=1&num=1090 1 #include 2 #include 3 #include 4 #define maxn 20000 5 using namespace std; 6 7 int c[maxn],n,a[maxn]; 8 int lowbit(int x) 9 {10 return x&(-x);11 }12 13 void add(int pos)14 {15 while(pos0)26 {27 sum+=c[pos];28 pos-=lo... 阅读全文
posted @ 2014-03-21 17:17 null1019 阅读(131) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2352 1 #include 2 #include 3 #define maxn 400000 4 using namespace std; 5 6 int c[maxn],leve[maxn],a,b,n; 7 8 int lowbit(int x) 9 {10 return x&(x^(x-1));11 }12 13 void add(int x,int m)14 {15 while(x0)26 {27 sum1+=c[x];28 x-=lowbit(x);29 }... 阅读全文
posted @ 2014-02-20 15:37 null1019 阅读(148) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=1195 1 #include 2 #include 3 #include 4 #define maxn 1026 5 using namespace std; 6 7 int a[maxn][maxn]; 8 int c[maxn][maxn]; 9 int S,x,y,aa,l,r,b,t,h,T;10 11 int lowbit(int x)12 {13 return x&(x^(x-1));14 }15 16 void update(int i,int j,int k)17 {18 while(i0)34 ... 阅读全文
posted @ 2014-02-11 16:11 null1019 阅读(174) 评论(0) 推荐(0)