树状数组laekov
lowbit
数组的第 i 位存储的是以 i 为结尾的长度为lowbit(i) 的一段的和.
- int lowBit(x) {
- return x & -x;
- }
加点
- int n, bt[maxn];
- void btAdd(int pos, int delta) {
- for (; pos <= n; pos += lowBit(p)) {
- bt[pos] += delta;
- }
- }
查询
- int btSum(int pos) {
- int ans = ;
- for (; pos; pos -= lowBit(p)) {
- ans += bt[p];
- }
- return ans;
- }
完整代码
略有不同的,dad曾经教给我,树状数组这么写
- //线段树练习1
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- #define maxn 100010
- using namespace std;
- int n,m,t[maxn];
- void add(int k,int z)
- {
- while(k<=n)
- {
- t[k]+=z;
- k+=k&(-k);
- }
- }
- int find(int k)
- {
- int ans=;
- while(k)
- {
- ans+=t[k];
- k-=k&(-k);
- }
- return ans;
- }
- int main()
- {
- int i,j,k,x;
- scanf("%d",&n);
- for(i=;i<=n;i++)
- {
- scanf("%d",&x);
- add(i,x);
- }
- scanf("%d",&m);
- for(i=;i<=m;i++)
- {
- int x,y,z,w;
- scanf("%d",&w);
- scanf("%d%d",&x,&y);
- if(w==)
- add(x,y);
- else if(w==)
- printf("%d\n",find(y)-find(x-));
- }
- return ;
- }
- //线段树练习2
- #include<iostream>
- using namespace std;
- int t[],n,m;
- void add(int k,int z)
- {
- while(k<=n)
- {
- t[k]+=z;
- k+=k&(-k);
- }
- }
- int find(int a)
- {
- int ans=;
- while(a)
- {
- ans+=t[a];
- a-=a&(-a);
- }
- return ans;
- }
- int main()
- {
- int s;
- cin>>n;
- for(int i=;i<=n;i++)
- cin>>s,
- add(i,s);
- cin>>m;
- for(int i=;i<=m;i++)
- {
- int x,y,w,z;
- cin>>w;
- if(w==)
- {
- cin>>x;
- cout<<find(x)-find(x-)<<endl;
- }
- if(w==)
- {
- cin>>x>>y>>z;
- for(int j=x;j<=y;j++)
- add(j,z);
- }
- }
- }
树状数组laekov的更多相关文章
- BZOJ 1103: [POI2007]大都市meg [DFS序 树状数组]
1103: [POI2007]大都市meg Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2221 Solved: 1179[Submit][Sta ...
- bzoj1878--离线+树状数组
这题在线做很麻烦,所以我们选择离线. 首先预处理出数组next[i]表示i这个位置的颜色下一次出现的位置. 然后对与每种颜色第一次出现的位置x,将a[x]++. 将每个询问按左端点排序,再从左往右扫, ...
- codeforces 597C C. Subsequences(dp+树状数组)
题目链接: C. Subsequences time limit per test 1 second memory limit per test 256 megabytes input standar ...
- BZOJ 2434: [Noi2011]阿狸的打字机 [AC自动机 Fail树 树状数组 DFS序]
2434: [Noi2011]阿狸的打字机 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 2545 Solved: 1419[Submit][Sta ...
- BZOJ 3529: [Sdoi2014]数表 [莫比乌斯反演 树状数组]
3529: [Sdoi2014]数表 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1399 Solved: 694[Submit][Status] ...
- BZOJ 3289: Mato的文件管理[莫队算法 树状数组]
3289: Mato的文件管理 Time Limit: 40 Sec Memory Limit: 128 MBSubmit: 2399 Solved: 988[Submit][Status][Di ...
- 【Codeforces163E】e-Government AC自动机fail树 + DFS序 + 树状数组
E. e-Government time limit per test:1 second memory limit per test:256 megabytes input:standard inpu ...
- 【BZOJ-3881】Divljak AC自动机fail树 + 树链剖分+ 树状数组 + DFS序
3881: [Coci2015]Divljak Time Limit: 20 Sec Memory Limit: 768 MBSubmit: 508 Solved: 158[Submit][Sta ...
- 树形DP+DFS序+树状数组 HDOJ 5293 Tree chain problem(树链问题)
题目链接 题意: 有n个点的一棵树.其中树上有m条已知的链,每条链有一个权值.从中选出任意个不相交的链使得链的权值和最大. 思路: 树形DP.设dp[i]表示i的子树下的最优权值和,sum[i]表示不 ...
随机推荐
- 开发笔记--java.lang.OutOfMemoryError: PermGen space异常处理
第一次到公司开发项目,比起之前的小项目来说这次的项目特别大,以至于运行之后出现了java.lang.OutOfMemoryError: PermGen space的异常,从字面意思上来看是内存溢出的原 ...
- Python爬虫 —— 抓取美女图片
代码如下: #coding:utf-8 # import datetime import requests import os import sys from lxml import etree im ...
- SqlServer 按逗号分隔
SELECT ORDER_ID,LTRIM(MAX(SYS_CONNECT_BY_PATH(GOODS_NAME, ',')), ',') GOODS_NAME FROM (SELECT GOODS_ ...
- 虚拟化网络之OpenvSwitch
OpenvSwitch简称OVS,官网(http://openvswitch.org/) OVS是一个高质量.多层的虚拟交换软件,即虚拟交换机. OpenvSwitch的见的相关组件: ovs-vsw ...
- 2-mybatis框架
mybatis是一个持久层的框架,是apache下的顶级项目. mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需 ...
- 休假回来 更博-MySQL以月为单位的客户综合情况表_20161008
十一休假老家事比较多 未来得及更新 今起依旧更博- 生成一个以用户ID为单位,各月下单天次,各月买了几个产品,各月订单额 ,天次,,天次,,天次,NULL)) AS 9月天次 FROM ( SELEC ...
- [转]ECMAScript5 Object的新属性方法
虽然说现在并不是所有的浏览器都已经支持ECMAScript5的新特性,但相比于ECMAScript4而言ECMAScript5被广大浏览器厂商广泛接受,目前主流的浏览器中只有低版本的IE不支持,其它都 ...
- Python手记
字符串的拼接 1.“+”,如果是字符和数字相连,要使用str()函数对于数字进行字符转化: 2.join() 3.",",链接的两个字符串之间用空格做关联 4.占位符 tmp += ...
- C#线程处理基本知识
章节: 线程与线程处理 讨论多线程的优缺点,并概括了可以创建线程或使用线程池线程的几种情形. 托管线程中的异常 描述不同版本 .NET Framework 的线程中的未经处理的异常的行为,尤其是导致应 ...
- 推荐几个Laravel 后台管理系统
小编推荐几个Laravel 后台管理系统 由百牛信息技术bainiu.ltd整理发布于博客园 一.不容错过的Laravel后台管理扩展包 —— Voyager 简介Voyager是一个你不容错过的La ...