POJ-1195 Mobile phones 二維樹組+二維數組
来源:互联网 发布:windows 8.1 下载 编辑:程序博客网 时间:2024/06/10 04:08
在寫之前先行注明
二維樹狀數組->樹組
本題爲二維樹狀數組的模板題,作爲學習樹狀數組的開始,首先復習一下樹狀數組的模板不會的百度
更新:
void add(int p,int lala){//變量要定得有新意 for(int i=p;i<=n;i+=lowbit(i)) f[i]+=lala; return 0;}
求值:
int query(int p){ int haha=0; for(int i=p;i;i-=lowbit(i)) haha+=f[i]; return haha;}
辣麼感性地想一想,拓展到二維時 不只用加一維嗎
如dp般玄學
上模板:
*哎呀,第一次寫博客,編輯器用不習慣,就一起發啦
inline void add(int x,int y,int add){ for(int i=x;i<=n;i+=lowbit(i)) for(int j=y;j<=n;j+=lowbit(j)) f[i][j]+=add; return ;}inline int query(int x,int y){ int sum=0; for(int i=x;i;i-=lowbit(i)) for(int j=y;j;j-=lowbit(j)) sum+=f[i][j]; return sum;}
是不是十分美觀,簡潔, 沒壓行算給面子的了
下面言歸正傳
題意
給定一個S*S的矩陣,每次有倆操作,一是將(i,j)加上add,二是同價一個給定矩陣中的數之和。
個人最討厭打題解不打題意的了
題解
一個二維樹組的模板題
被虐代碼
#include<cstdio>#include<cstring>using namespace std;#define lowbit(x) (-x&x)const int maxn=1050;int n,f[maxn][maxn];inline void add(int x,int y,int add){ for(int i=x;i<=n;i+=lowbit(i)) for(int j=y;j<=n;j+=lowbit(j)) f[i][j]+=add; return ;}inline int query(int x,int y){ int sum=0; for(int i=x;i;i-=lowbit(i)) for(int j=y;j;j-=lowbit(j)) sum+=f[i][j]; return sum;}int main(){ int p; int a,b,c; int l,xia,r,shang; while(1){ scanf("%d",&p); if(!p){ scanf("%d",&n); memset(f,0,sizeof(f)); continue; } else if(p==1){ scanf("%d%d%d",&a,&b,&c); add(a+1,b+1,c); continue; } else if(p==2){ scanf("%d%d%d%d",&l,&xia,&r,&shang); l++,r++,xia++,shang++; printf("%d\n",query(r,shang)+query(l-1,xia-1)-query(l-1,shang)-query(r,xia-1));continue; } else if(p==3)return 0; } return 0;}
代碼醜不要介意,打繁體才是最醜的
阅读全文
1 0
- POJ-1195 Mobile phones 二維樹組+二維數組
- POJ 1195 Mobile phones
- poj 1195 Mobile phones
- poj 1195 Mobile phones
- poj 1195 mobile phones
- POJ 1195 Mobile phones
- Poj 1195 Mobile phones
- poj 1195 Mobile phones
- POJ 1195 Mobile phones
- POJ 1195 Mobile phones
- POJ 1195 Mobile phones
- POJ 1195 Mobile phones
- POJ 1195 Mobile phones
- poj 1195 Mobile phones
- poj 1195 Mobile phones
- POJ 1195 Mobile phones
- POJ 1195 Mobile Phones
- POJ 1195 Mobile phones
- caffe python接口——pycaffe配置
- BZOJ 1467&&2480;3239 扩展BSGS
- Java的注解机制——Spring自动装配的实现原理
- 长假期间,技术人员如何保障系统稳定?
- 清理缓存
- POJ-1195 Mobile phones 二維樹組+二維數組
- 编程能力七段论
- laravel 5.x 支付宝 异步通知签名验证失败 openssl_verify()错误
- PHP RC4 加解密类
- Python的hasattr() getattr() setattr() 函数使用方法详解
- Java中的包装类
- 【Struts】文件的上传和下载
- 使用命令行打开mysql
- the 'access-control-allow-origin' header has a value 'http://localhost' but origin is null