bzoj1452 [JSOI2009]Count
来源:互联网 发布:linux服务器配置ipv6 编辑:程序博客网 时间:2024/06/05 06:05
Description
Input
Output
Sample Input
Sample Output
1
2
HINT
Solution
二维树状数组傻逼题,这里写一下,方便以后抄板,加深理解。
#include<bits/stdc++.h>using namespace std;inline int read() { int x = 0, flag = 1; char ch = getchar(); while (ch > '9' || ch < '0') { if (ch == '-') flag = -1; ch = getchar(); } while (ch <= '9' && ch >= '0') { x = x * 10 + ch - '0'; ch = getchar(); } return x * flag;}inline void write(int x) { if (x >= 10) write(x / 10); putchar(x % 10 + '0'); }#define N 305#define rep(i, a, b) for (int i = a; i <= b; i++)int n, m;int bit[N / 3][N][N];int g[N][N];inline int lowbit(int k) { return (k & (-k)); }void add(int x, int y, int num, int v) { for (int i = x; i <= n; i += lowbit(i)) for (int j = y; j <= m; j += lowbit(j)) bit[num][i][j] += v;}int ask(int x, int y, int num) { int ans = 0; for (int i = x; i; i -= lowbit(i)) for (int j = y; j; j -= lowbit(j)) ans += bit[num][i][j]; return ans;}int main() { cin >> n >> m; rep(i, 1, n) rep(j, 1, m) g[i][j] = read(), add(i, j, g[i][j], 1); int q = read(); while (q--) { int t = read(); if (t == 1) { int x = read(), y = read(), c = read(); add(x, y, g[x][y], -1); g[x][y] = c; add(x, y, c, 1); } else { int x1 = read(), x2 = read(), y1 = read(), y2 = read(), c = read(); int ans = ask(x2, y2, c) - ask(x1 - 1, y2, c) - ask(x2, y1 - 1, c) + ask(x1 - 1, y1 - 1, c); write(ans), puts(""); } } return 0;}
阅读全文
0 0
- BZOJ1452 [JSOI2009]Count Solution
- [BZOJ1452] [JSOI2009]Count
- [BZOJ1452][JSOI2009]Count
- bzoj1452 【JSOI2009】Count
- 【BZOJ1452】【JSOI2009】Count
- bzoj1452: [JSOI2009]Count
- bzoj1452 [JSOI2009]Count
- bzoj1452 [JSOI2009]Count
- [BZOJ1452]JSOI2009 Count|树状数组
- BZOJ1452——[JSOI2009]Count
- 【BZOJ1452】【JSOI2009】Count 二维树状数组
- BZOJ1452 [JSOI2009]Count(二维树状数组)
- [BZOJ1452][JSOI2009]Count(二维树状数组)
- BZOJ1452: [JSOI2009]Count 二维树状数组
- [BZOJ1452][JSOI2009]Count(二维树状数组)
- bzoj1452: [JSOI2009]Count(二维树状数组)
- 【二维树状数组】BZOJ1452 [JSOI2009]Count
- bzoj1452[JSOI2009]Count 二维树状数组/树套树
- python实现卷积层的前向后向传播过程
- VS2015单文档视图项目中文档、框架以及视图创建过程
- PHP正则表达式模式修饰符详解
- C语言关键字
- 刷题笔记:C/C++工程师能力评估2
- bzoj1452 [JSOI2009]Count
- Gym 101482. I
- 回文质数 构造回文数
- Codeforces Round #441 Div. 2 E,F
- Windows编程基础--第1节 第一个win32软件
- Course Schedule II
- Java之主函数——main函数
- sqoop1 脚本示例
- 普通用户sudo echo权限依旧写入不了文件