首页 > 其他分享 >【树状数组】 POJ 2155 Matrix

【树状数组】 POJ 2155 Matrix

时间:2023-07-05 22:32:40浏览次数:30  
标签:xx1 Matrix int scanf d% 2155 POJ include define


水水的二维树状数组,代码写搓了,找了好久的错。。。

【树状数组】 POJ 2155 Matrix_#include

【树状数组】 POJ 2155 Matrix_#include

【树状数组】 POJ 2155 Matrix_#include

【树状数组】 POJ 2155 Matrix_#include

【树状数组】 POJ 2155 Matrix_#include

【树状数组】 POJ 2155 Matrix_#include

【树状数组】 POJ 2155 Matrix_#include

【树状数组】 POJ 2155 Matrix_#include

#include <iostream>
#include <sstream>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <bitset>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <climits>
#define maxn 1005
#define eps 1e-7
#define mod 1000000007
#define INF 99999999
#define lowbit(x) (x&(-x))
typedef long long LL;
using namespace std;

int tree[maxn][maxn];
char s[10];
int n, m;
void add(int xx1, int yy1, int xx2, int yy2)
{
	int i, j;
	for(i=xx1;i<=n;i+=lowbit(i))
		for(j=yy1;j<=n;j+=lowbit(j))
			tree[i][j]+=1;
	for(i=xx2+1;i<=n;i+=lowbit(i))
		for(j=yy2+1;j<=n;j+=lowbit(j))
			tree[i][j]+=1;
	for(i=xx2+1;i<=n;i+=lowbit(i))
		for(j=yy1;j<=n;j+=lowbit(j))
			tree[i][j]-=1;
	for(i=xx1;i<=n;i+=lowbit(i))
		for(j=yy2+1;j<=n;j+=lowbit(j))
			tree[i][j]-=1;
}
int query(int x, int y)
{
	int i, j, ans=0;
	for(i=x;i>0;i-=lowbit(i))
		for(j=y;j>0;j-=lowbit(j))
			ans+=tree[i][j];
	return ans;
}
void solve(void)
{
	int x, y, xx1, yy1, xx2, yy2;
	memset(tree, 0, sizeof tree);
	while(m--){
		scanf("%s", s);
		if(s[0]=='Q'){
			scanf("%d%d",&x,&y);
			printf("%d\n", query(x, y)%2);
		}
		else{
			scanf("%d%d%d%d",&xx1,&yy1,&xx2,&yy2);
			add(xx1, yy1, xx2, yy2);
		}
	}
}
int main(void)
{
	int _;
	while(scanf("%d",&_)!=EOF){
		while(_--){
			scanf("%d%d",&n,&m);
			solve();
			if(_) printf("\n");
		}
	}
	return 0;
}




标签:xx1,Matrix,int,scanf,d%,2155,POJ,include,define
From: https://blog.51cto.com/u_8692734/6636176

相关文章

  • SPOJ Substrings 题解
    \(\text{SAM}\)入门好题。首先我们需要知道几个关于\(\text{SAM}\)的结论。结论1:题目中的\(f(x)\)单调下降。显然,对于长度为\(x\)的子串,其必存在一个\(x-1\)的后缀,这个后缀的\(\text{endpos}\)集合肯定包含子串的\(\text{endpos}\)集合,所以必有\(f(x-1)\le......
  • POJ 3728 The merchant
    题意好像不清楚:给定一棵\(n​\)个点的树,每个点有点权\(val_i​\),现在有\(q​\)个询问,每次询问给出\(u,v​\),设\(u​\)到\(v​\)的路径上的点编号为\(a_1,a_2\cdotsa_{len}​\),求\(\max\limits_{1\lex<y\lelen}{val_{a_y}-val_{a_x}}​\)。因为\(x,y\)有顺......
  • AHB协议理解2--AHBMatrix项目
    1.AHB协议中的burst传输bit、byte、word的联系1byte=8bit1word=2byte=16bit  注意:定长的burst传输期间,一直拉高HBUSREQx信号,目的是为了增加1次burst传输。不然仲裁器要根据仲裁算法把总线授权切换给其他主机了 2.(重中之重)AHB协议支持word和半字的读写,表现在haddr......
  • Japanese Student Championship 2021 F Max Matrix
    洛谷传送门AtCoder传送门我们考虑动态维护答案。如果已经知道上一步的答案,考虑计算这一次操作之后答案的变化。考虑现在有一个数列\(a_{1\simn}\),我们想知道\(\sum\limits_{i=1}^n\max(x,a_i)\)。计算出\(c=\sum\limits_{i=1}^n[a_i<x],s=\sum\limits_{i......
  • poj 3233(矩阵快速幂)
    题意:给出一个矩阵A和数字k,要求出矩阵S=A+A^2+A^3+…+A^k。题解:首先A^x可以计算,然后需要折半计算,比如s(k)=(1+A^(k/2))*s(k/2),但k的奇偶不同需要分情况。#include<stdio.h>#include<string.h>constintN=35;structMat{intg[N][N];};intn,k,m......
  • 矩阵求导(Matrix Derivative)
    矩阵求导(MatrixDerivative)也称作矩阵微分(MatrixDifferential),在机器学习、图像处理、最优化等领域的公式推导中经常用到。矩阵求导实际上是多元变量的微积分问题,只是应用在矩阵空间上而已,即为标量求导的一个推广,他的定义为将自变量中的每一个数与因变数中的每一个数求导。Notes:经......
  • How to understand matrix(Primary)
    WhatisMatrix?TODOWhatisEigenvectorandEigenvalue?任何只被矩阵缩放而不被旋转的矢量被称为该矩阵的特征向量(Eigenvector),而向量被缩放的程度称为特征值(Eigenvalue)。WhatisLinearalgebra?不同的输入矢量会被缩放和旋转得到不同的结果。然而,这些变换都是线性的,也就是......
  • 分治/质因数分解 POJ1845 求pow(a, b)的所有约数之和
    //POJ1845求pow(a,b)的所有约数之和//方法:1,分解质因数,将a分解成p1^k1*p2^k2^...*pn^kn//2,那么pow(a,b)为p1^(k1*b)*p2^(k2*b)^...*pn^(kn*b)//3,对于单独的pi^(ki*b),他所有的约数为(1,pi,pi^2,pi^3.....pi^(ki*b));//4,那么整个式子来说,pow(a,......
  • vulnhub靶场:matrix-breakout-2-morpheus
    这个靶场的链接不小心给关闭了,所以只能自己去搜了,好像这个靶场需要用virtualbox,但是我的好像有问题,所以用VMware了,这是我打开后的样子我的kali的ip:192.168.13.129对靶场进项扫描nmap-sP65535192.168.13.0/24稍微判断下,锁定在147和254然后扫描它,发现147是靶场的ip  ......
  • 搭建一个自用的端到端加密服务器 - 以 Matrix-Conduit 为后端
    Conduit是一个用Rust编写的、支持基础的Matrix协议的服务器后端。不建议用在生产环境中,因为功能真的很少,只支持基础的加密聊天、语音视频、文件分享,文档又少。如果买了小内存机、想弄一个自用的端到端加密聊天服务器的可以试试。注意:它要求glibc版本在2.29以上,所以至......