数据结构 树状数组
2015-07-15 19:59
405 查看
位运算就是快
#include<iostream> #include<cstring> using namespace std; int a[20]; int sum[20]; int n; int bit[100]; int getsum(int x) { int sum=0; while(x) { sum+=bit[x]; x=x-(x&-x); } return sum; } void add(int x,int y) { while(y<=n) { bit[y]+=x; y=y+(y&-y); } } int main() { cout<<"请输入元素的个数:"<<endl; cin>>n; int i,j; memset(bit,0,sizeof(bit)); for(i=1;i<=n;i++) { cin>>a[i]; add(a[i],i); } int ans; cout<<"请输入前x个的和x:"<<endl; int x; cin>>x; ans=getsum(x); cout<<ans<<endl; }
相关文章推荐
- 【自考学习】——《数据结构导论》概览
- PAT 数据结构 05-图3. 六度空间 (30)
- 算法导论 第十章:基本数据结构
- 图的存储
- PAT 数据结构 05-图2. Saving James Bond - Easy Version (25)
- VoiceEngine Codec数据结构
- PAT 数据结构 05-图1. List Components (25) 深度搜索DFS和广度搜索BFS
- C语言-数据结构(一)
- 数据结构-图
- 数据结构之---C语言实现图的数组(邻接矩阵)存储表示
- 数据结构之---C语言实现图的邻接表存储表示
- PAT 数据结构 09-散列3. Hashing - Hard Version (30) 拓扑排序
- 从淘宝数据结构来看电子商务中商品属性设计
- 算法的时间复杂度
- 数据结构基础 图的遍历(三) 之 BFS+DFS(非递归实现)
- oracle数据结构sql语句
- PAT 数据结构 09-散列2. QQ帐户的申请与登陆(25)
- 【数据结构】位运算
- PAT 数据结构 09-散列1. Hashing (25)
- 独立实验室的大型数据结构设想