树状数组
CoderFly
如果现在不努力,那跟咸鱼有什么区别。
展开
-
LA2191&UVA12086树状数组
裸树状数组……不能再裸了…… 更改值得时候 别忘了该原数组就可以了 #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int maxn=200010原创 2016-10-05 00:12:40 · 300 阅读 · 0 评论 -
LA5902&UVA1513 树状数组
题目大意: 将n个物品从上到下编号,放置 每次询问第i个物品上面有几个物品 并且将第i个物品放到最上面。 大体思路 树状数组的应用 将物品重新编号 n~1 c[i]为树状数组的辅助数组,所求前缀和是当前点到底端的距离 每次将取出的物品重新编号 pos[a]=++tot;原创 2016-10-05 00:06:33 · 421 阅读 · 0 评论 -
POJ 3321 树状数组,树转化为线性结构
题目链接 测试数据中边是 从上往下给的,也就是从根往叶子给的大体思路 将树形结构变为线性结构 后序遍历整棵树,记录下遍历这个点的时间和结束遍历的时间,那么[a,b]就可以代表这棵子树。 我们用一个节点的结束时间来标识树状数组中的c[]。即sum(i)表示 所有 遍历结束的时间小于i的节点的权值和#include <iostream> #include<cstdio> #include<cst原创 2016-11-16 22:14:32 · 419 阅读 · 0 评论 -
UVa11525 康托展开+二分+树状数组
n其实就是排列的康托展开形式 s[i]就是未出现的数中 第s[i]+1小的数 树状数组存小于x的数的个数 #include<bits/stdc++.h>using namespace std; int c[50010],k; inline int lowbit(int x) { return x&(-x); } int sum(int x) { int ans=0; whil原创 2016-11-20 22:32:35 · 552 阅读 · 0 评论