首页 > 其他分享 >树状数组--模板

树状数组--模板

时间:2023-09-12 12:33:50浏览次数:42  
标签:return 树状 -- Lowbit sum int while include 模板



#include<stdio.h>
#include<string.h>
#define N 50050
int n;
int in[N];

int Lowbit(int t)
{
	return t&(-t);
}
int Sum(int p)
{
	int sum=0;
	while(p>0)
	{
		sum+=in[p];
		p-=Lowbit(p);
	}
	return sum;
}
void plus(int p,int num)
{
	while(p<=n)
	{
		in[p]+=num;
		p+=Lowbit(p);
	}
}

int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		memset(in,0,sizeof(in));
		int q;
		scanf("%d%d",&n,&q);
		int i,j,k;
		for(i=1;i<=n;i++){
			scanf("%d",&k);
			plus(i,k);
		}
		char ch[10];
		while(q--)
		{
			scanf("%s",ch);
			if(ch[0]=='q')
			{
				int a,b;
				scanf("%d%d",&a,&b);
				printf("%d\n",Sum(b)-Sum(a-1));
			}
			else
			{
				int a,b;
				scanf("%d%d",&a,&b);
				plus(a,b);
			}
		}
	}
}




标签:return,树状,--,Lowbit,sum,int,while,include,模板
From: https://blog.51cto.com/u_16244339/7444333

相关文章

  • dijkstra 模板
    Input输入数据有多组,每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个,草儿想去的地方有D个;接着有T行,每行有三个整数a,b,time,表示a,b城市之间的车程是time分钟;(1=<(a,b)<=1000;a,b之间可能有多条路)接着的第T+1行有S个数,表示和草儿家相连的城市;接着的第T+2行......
  • hdu-3926-Hand in Hand-并查集
    判断两个图是否同构。。用了并查集。。#include<stdio.h>#include<string.h>#include<stdlib.h>#include<algorithm>#include<queue>#include<stack>usingnamespacestd;#definelllonglongintn,m;structnode{ intfu; intsum; intf......
  • 堆栈应用——括号匹配问题
    堆栈是各种软件系统中应用最广泛的数据结构之一。括号匹配问题和表达式计算是编译软件中的基本问题,其软件设计中都需要用到堆栈。【括号匹配问题】假设一个算术表达式中包含圆括号、方括号和花括号三种类型括号,编写一个判别表达式中括号是否正确匹配配对的函数,并设计一个测试主......
  • 确定的有限自动机的表示
    确定的有限自动机:DeterministicFiniteAutomata,简称DFA。一个确定的有限自动机是个五元组:(S,∑,f,s0,Z),其中:(1)S是一个有限集合,它的每个元素称为一个状态。(2)∑是一个有穷字母表,它的每个元素称为一个输入字符。(3)f是SX∑→S上的单值部分映像。f(A,a)=Q表示当前状态为A、输入为a时,将......
  • 古罗马--模板
    计算古罗马加法,输入不合法,则输出“Aha!Idon'tneedtocalculatethesum”。 测试用例1以文本方式显示I↵I↵以文本方式显示II↵1秒64M0#include<stdio.h>#include<string.h>#include<stdlib.h>charp[5][11][10];voiddabiao(){ memset(p,0,sizeof(p)); st......
  • 位图法
    电话号码问题商业单位需要容易记忆的电话号码,有一些方法可以让电话号码变得更容易记忆。譬如,可以把电话号码写成单词或短语,如MON-GLOP可以代表滑铁卢大学的电话。有时仅仅是把号码的一部分写成单词,如打310-GINO便可向GINO比萨饼店定购比萨。另一种让电话号码容易记忆的方......
  • 首家!亚信科技AntDB数据库完成中国信通院数据库迁移工具专项测试
    近日,在中国信通院“可信数据库”数据库迁移工具专项测试中,湖南亚信安慧科技有限公司(简称:亚信安慧科技)数据库数据同步平台V2.1产品依据《数据库迁移工具能力要求》、结合亚信科技AntDB分布式关系型数据库产品,成为首款完成标准所规定的测试产品。测试过程依据标准在基础功能、数据库......
  • N天爆肝数据库——MySQL(1)
    (N天爆肝数据库——MySQL(1))链接:link这是csdn专栏链接,大家可以看一看,提提意见数据库概念理解==数据库DB存储数据的仓库数据库管理系统DBMS操纵和管理数据库的大型软件==SQL操作关系型数据库的编程语言,定义了用一套操作关系型数据库同意标准学习SQL的作用SQL是一门......
  • Android开发中常见的设计模式
    Android开发中常见的设计模式对于开发人员来说,设计模式有时候就是一道坎,但是设计模式又非常有用,过了这道坎,它可以让你水平提高一个档次。而在android开发中,必要的了解一些设计模式又是非常有必要的。对于想系统的学习设计模式的同学,这里推荐2本书。一本是HeadFirst系列的HeadH......
  • Padavan配置白名单模式及上网时间控制
    登录Padavan管理后台,高级设置--->防火墙--->mac访问控制--->mac访问控制模式【允许模式---仅列表中的设备可获取网络;拒绝模式---列表中的设备拒绝访问网络】,禁止访问路由器主机这项一定打开,不然试了下没效果,开了就是未在列表中的设备不能访问路由器,初次连接的设备也无法获取ip地......