BZOJ 1452: [JSOI2009]Count(二维BIT)】的更多相关文章

为每一个权值开一个二维树状数组. ------------------------------------------------------------------------- #include<cstdio> #include<cstring> #include<algorithm> #include<iostream>   #define rep(i, n) for(int i = 0; i < n; ++i) #define Rep(i ,n…
1452: [JSOI2009]Count Description Input Output Sample Input Sample Output 1 2 HINT Source 题解:设定C[101][N][N] 树状数组上价值为val的lowbit数组 //meek ///#include<bits/stdc++.h> #include <iostream> #include <cstdio> #include <cmath> #include <…
escription Input Output Sample Input Sample Output 1 2 HINT —————————————————————————————————————————— 这道题是裸的二维树状数组.....直接每个颜色弄一个二维的树状数组然后容斥(也不知道算不算)就可以辣 #include<cstdio> #include<cstring> #include<algorithm> int read(){ ,f=,c=getchar();…
题目链接 裸二维树状数组 #include <bits/stdc++.h> const int N = 305; struct BIT_2D { int c[105][N][N], n, m; void init(int n, int m) { memset (c, 0, sizeof (c)); this->n = n; this->m = m; } void updata(int k, int x, int y, int z) { for (int i=x; i<=n;…
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1452 思路: 对每个颜色开一个二维树状数组维护就好了 实现代码: #include<bits/stdc++.h> using namespace std; ][][]; ][],n,m,q; int lowbit(int x){ return x&-x; } void add(int x,int y,int z,int rt){ for(int i = x;i <= n;i…
中文题面,给你一个矩阵,每一个格子有数字,有两种操作. 1. 把i行j列的值更改 2. 询问两个角坐标分别为(x1,y1) (x2,y2)的矩形内有几个值为z的点. 这一题的特点就是给出的z的数据范围很小,只有1~100,所以我们可以开100个300X300的二维树状数组来解决问题. #include<bits/stdc++.h> using namespace std; ][][]; ][]; int n,m,k; int lowbit(int x) { return x&-x; }…
题目描述 输入 输出 样例输入 样例输出 1 2 题解 二维树状数组 一开始没看到 1≤c≤100 ,想到了主X树和X块,结果发现c的范围那么小... 二维树状数组水题,和一维的一样,向上修改,向下查询,把一个范围变为4个范围处理. #include <cstdio> int a[310][310] , f[110][310][310] , n , m; void update(int p , int x , int y , int a) { int i , j; for(i = x ; i…
这道题好像有点简单的样子... absi找题目好厉害啊...确实是一道比较裸的2dBIT啊. 水掉吧. 附:2dBIT怎么做: 2dBIT就是BIT套BIT啦. 所以修改loop(x+=lowbit(x)){loop(y+=lowbit(y)){}} 查询loop(x-=lowbit(x)){loop(y-=lowbit(y)){}} 然后查询区间当然是用容斥... 假设查询(x1+1,y1+1)(x2,y2) 那么答案=Q(x1,y1)+Q(x2,y2)-Q(x1,y2)-Q(x2,y1) Q…
大水题. 建立100个二维树状数组,总复杂度就是O(qlognlogm). # include <cstdio> # include <cstring> # include <cstdlib> # include <iostream> # include <vector> # include <queue> # include <stack> # include <map> # include <set&…
http://www.lydsy.com/JudgeOnline/problem.php?id=1452 题意:n×m的矩阵上每个点有个颜色,现在有q个操作:1 x y c 将点(x,y)的颜色改为c:2 x1 x2 y1 y2 c 询问矩阵x1y1-x2y2颜色为c的格子数目 #include <bits/stdc++.h> using namespace std; const int N=301; int n, m; int S[101][N][N], col[N][N]; void up…