首页 > 其他分享 >每日一题- P4054

每日一题- P4054

时间:2024-07-27 17:21:38浏览次数:9  
标签:std int 每日 305 P4054 一题

怎么是树状数组板子,这也蓝

#include<bits/stdc++.h>
using namespace std;
int n,m,q,a[305][305];
int c[305][305][105];
void add(int x,int y,int k,int col){
	for(int i=x;i<=n;i+=i&-i)
		for(int j=y;j<=m;j+=j&-j)
			c[i][j][col]+=k;
}
int query(int x,int y,int col){
	int res=0;
	for(int i=x;i;i-=i&-i)
		for(int j=y;j;j-=j&-j)
			res+=c[i][j][col];
	return res;
}
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++){
			scanf("%d",&a[i][j]);
			add(i,j,1,a[i][j]);
		}
	int q;scanf("%d",&q);
	while(q--){
		int op;scanf("%d",&op);
		if(op==1){
			int x,y,col;scanf("%d%d%d",&x,&y,&col);
			add(x,y,-1,a[x][y]);
			a[x][y]=col;
			add(x,y,1,a[x][y]);
		}else{
			int x1,y1,x2,y2,col;scanf("%d%d%d%d%d",&x1,&x2,&y1,&y2,&col);
			printf("%d\n",query(x2,y2,col)-query(x1-1,y2,col)-query(x2,y1-1,col)+query(x1-1,y1-1,col));
		}
	}
	return 0;
}

标签:std,int,每日,305,P4054,一题
From: https://www.cnblogs.com/kentsbk/p/18327194

相关文章

  • 每日一题- P2827
    可爱的单调性啊,不会#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongintn,m,q,u,v,t,a[100005];queue<int>que[3];signedmain(){ scanf("%lld%lld%lld%lld%lld%lld",&n,&m,&q,&u,&v,&t); for(inti=1;i&l......
  • 每日一题- CF1995D
    唐氏小状压#include<bits/stdc++.h>usingnamespacestd;#definelowbit(x)(x&-(x))intt,n,c,k,cnt[(1<<18)+5][35];boolf[(1<<18)+5];chars[(1<<18)+5];intcalc(intx){ intres=0; while(x)x^=lowbit(x),res++; returnres;}voidi......
  • 每日一题-CF1996G Penacony
    异常明显的思路,考场上却不会,连确定一条边不选都没想到#include<bits/stdc++.h>usingnamespacestd;#definepiipair<int,int>#definefifirst#definesesecond#definempmake_pair#definels(rt<<1)#definers(rt<<1|1)#definemid(l+r>>1)intt,n,m......
  • 7.26每日一练
    1.学生管理系统(增删改查)#include<stdio.h>#include<string.h>intmain(intargc,constchar*argv[]){ intnum=0; inta=0,b=0,c=0; inti,j; intm,n; charadd1[30],add2[30],add3[30]; ints,sub,x,y; charmod[30]; intex; intlen1,len2,len3;......
  • 每日OJ_牛客_合法括号序列判断
    目录牛客_合法括号序列判断解析代码牛客_合法括号序列判断合法括号序列判断__牛客网解析代码        用栈结构实现,栈中存放左括号,当遇到右括号之后,检查栈中是否有左括号,如果有则出栈,如果没有,则说明不匹配。classParenthesis{public:boolchkPare......
  • 每日一题:Leetcode-32 最长有效括号
    力扣题目解题思路java代码力扣题目:给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例1:输入:s="(()"输出:2解释:最长有效括号子串是"()"示例2:输入:s=")()())"输出:4解释:最长有效括号子串是"()()"示例3:输入:s=""......
  • 每日一面—— 不使用任何中间变量如何将a、b的值进行交换
    请参考以下C++程序代码。1#include<stdio.h>23voidswap1(int&a,int&b)4{5inttemp=a;//使用局部变量temp完成交换6a=b;7b=temp;8};910voidswap2(int&a,int&b)11{12a=a+b;//使用加减运算完成交换13b=a-b;14......
  • 2024.7.22每日笔记,有错望指出
    //5、求125之内自然数中偶数之和。#include<stdio.h>intmain(){inti=0;intsum=0;for(i=0;i<=125;i++){if(i%2==0){sum=sum+i;printf("%d\n",sum);}}return0;}//7、编程计算1......
  • python每日学习:numpy库的用法(上)
    python每日学习10:numpy库的用法(上)下载numpy库pipinstallnumpy检测环境是否安装importnumpyimportnumpyasnpa=np.arange(10)print(a)array创建数组名称描述dtype数组元素的数据类型,可选copy对象是否需要复制,可选order创建数组的样式,C为行方向,F为列方向,A......
  • 每日一题-P1344
    本来求边数又建了个图跑流,然后看题解发现直接流量置为A*w+1(A为足够大的数)感觉很强#include<bits/stdc++.h>usingnamespacestd;#definelllonglongconstintA=1e5;constllinf=1e18;intn,m,s,t;structedge{ intv;llw;intnx;}e[10005];intcnt,hd[205],cur[......