树状数组
文章平均质量分 73
BraketBN
这个作者很懒,什么都没留下…
展开
-
【BZOJ1062】[NOI2008]糖果雨【二维树状数组】
【题目链接】神题。【别人的题解】/* Pigonometry */#include #include using namespace std;const int maxn = 2005, maxm = 4005, maxc = 1000005;int len, len2, len4, tr[2][maxn][maxm];inline int iread() {原创 2016-04-01 20:20:15 · 1301 阅读 · 0 评论 -
【SPOJ-INVCNT】Inversion Count【树状数组】【逆序对】
题意:给出一列数,求逆序对个数。裸题。发现树状数组的n与数的个数n搞混了...懒得离散化,反正时限大。#include #include using namespace std;typedef unsigned long long ULL;const int maxn = 200005, maxm = 10000005;int n, a原创 2016-02-25 15:22:58 · 868 阅读 · 0 评论 -
【BZOJ3155】Preprefix sum【树状数组】
【题目链接】∑((x - i + 1) * ai) = ∑((n - i + 1) * ai) - (n - x) * ∑ai/* Pigonometry */#include #include using namespace std;typedef long long LL;const int maxn = 100005;int n, m, num[maxn];原创 2016-04-07 11:08:47 · 483 阅读 · 0 评论 -
【BZOJ4430】[Nwerc2015]Guessing Camels赌骆驼【树状数组】【或CDQ分治】
【题目链接】题解:直接用CDQ分治是O(nlog^2n)的,似乎可以过。一种O(nlogn)的做法,考虑补集转化,答案 = 总对数 - 不满足条件的对数。考虑不满足条件的数的性质,这一对数在其中两个排列里的位置关系是相同的,在另一个排列里的位置关系相反。那么统计两两排列之间不满足偏序关系的数对的个数,这样统计下来每对数都被统计了两次,除以2就是不满足条件的对数。原创 2016-05-13 09:55:20 · 1464 阅读 · 0 评论 -
【BZOJ1103】[POI2007]大都市meg【树链剖分】【线段树】【或 树状数组 + dfs序】
【题目链接】想都没想直接树剖去了...看了题解发现树状数组维护dfs序也可以做。树剖:/* Pigonometry */#include #include #include using namespace std;const int maxn = 250005;int n, head[maxn], cnt;struct _edge { int原创 2016-04-21 08:38:58 · 908 阅读 · 0 评论 -
【BZOJ1264】[AHOI2006]基因匹配Match【DP】【LCS】【树状数组】
【题目链接】相对于一般的LCS来说,这个问题可以直接得到某个字符在字符串内的位置。先把第一个串读入,处理出每个字符出现的位置。然后枚举第二个串,对于当前的字符,直接枚举这个字符在第一个串里出现的位置,然后转移。转移需要用到前缀最大值,用树状数组来维护。orz神题。/* Pigonometry */#include #include #include u原创 2016-04-23 11:51:08 · 436 阅读 · 0 评论 -
【BZOJ4378】[POI2015]Logistyka【树状数组】【结论题】
【题目链接】题解:首先得有一个结论:设个数大于s的数字有k个(如果k大于c,显然是TAK。这里讨论k 数字和不小于(c - k) * s,那么一定有解。并不会证明...用树状数组记录一下数字的个数以及数字的数字和,然后判断就可以了。复杂度:时间复杂度:O(mlogm),空间复杂度:O(m)。1A。GET:结论题.../* Te原创 2016-05-09 20:33:58 · 1172 阅读 · 0 评论