题解:

二维树状数组,再矩阵推一下

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=;
int n,m,q;
LL T[][N][N];
int TN,TM;
void add(LL (*T)[N],int x,int y,LL v)
{
if (!x||!y)return;
for (int i=x;i<=TN;i+=i&-i)
for (int j=y;j<=TM;j+=j&-j)T[i][j]+=v;
}
LL sum(LL (*T)[N],int x,int y)
{
if (!x||!y)return 0LL;
LL v=;
for (int i=x;i;i-=i&-i)
for (int j=y;j;j-=j&-j)v+=T[i][j];
return v;
}
void add(int x,int y,LL v)
{
add(T[],x,y,v);
add(T[],x,y,v*(-x));
add(T[],x,y,v*(-y));
add(T[],x,y,v*(-x)*(-y));
}
LL sum(int x, int y)
{
return (x+)*(y+)*sum(T[],x,y)+(y+)*sum(T[],x,y
)+(x+)*sum(T[],x,y)+sum(T[],x,y);
}
void add(int x1,int y1,int x2,int y2,LL v)
{
add(x1,y1,v);
add(x2+,y1,-v);
add(x1,y2+,-v);
add(x2+,y2+,v);
}
LL sum(int x1, int y1, int x2, int y2)
{
return sum(x2,y2)-sum(x1-,y2)-sum(x2,y1-)+sum(x1-,y1-);
}
int main()
{
scanf("%d%d%d",&n,&m,&q);
TN=n;TM=m;
for (int i=;i<=m;i++)
for (int j=;j<=n;j++)
{
int x;
scanf("%d",&x);
add(j,i,j,i,x);
}
for (int i=;i<q;i++)
{
int x1,y1,x2,y2,z,a;
scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&z,&a);
LL s = sum(x1, y1, x2, y2);
if (s<(LL)z*(x2-x1+)*(y2-y1+))add(x1,y1,x2,y2,a);
}
for (int i=;i<=m;i++)
for (int j=;j<=n;j++)
printf("%lld%c",sum(j,i,j,i),j==n?'\n':' ');
}

51nod1210的更多相关文章

随机推荐

  1. Python3基础 函数 有参数有返回值 对传入的参数加1

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  2. 关于ActiveMQ、RocketMQ、RabbitMQ、Kafka一些总结和区别

    这是一篇分享文 转自:http://www.cnblogs.com/williamjie/p/9481780.html  尊重原作,谢谢 消息队列 为什么写这篇文章? 博主有两位朋友分别是小A和小B: ...

  3. 初始 DQN 程序 所遇到的问题

    初始 DQN 程序 所遇到的问题 最近在看 DQN,但是想试试别人放出来的 code,但是发现,额,各种问题,在此记录,以备不时之需! 问题1. wangxiao@GTX980:~/Documents ...

  4. js键盘按钮keyCode及示例大全

    以功能区分布 以 keycode 编号顺序分布 keycode 0 = keycode 1 = keycode 2 = keycode 3 = keycode 4 = keycode 5 = keyc ...

  5. Spark与Flink大数据处理引擎对比分析!

    大数据技术正飞速地发展着,催生出一代又一代快速便捷的大数据处理引擎,无论是Hadoop.Storm,还是后来的Spark.Flink.然而,毕竟没有哪一个框架可以完全支持所有的应用场景,也就说明不可能 ...

  6. Qt与FFmpeg联合开发指南(一)——解码(1):功能实现

    前言:对于从未接触过音视频编解码的同学来说,使用FFmpeg的学习曲线恐怕略显陡峭.本人由于工作需要,正好需要在项目中使用.因此特地将开发过程总结下来.只当提供给有兴趣的同学参考和学习. 由于FFmp ...

  7. Hyper-v群集的仲裁模式配置依据

    1,仲裁配置的原理 节点多数(推荐用于含有奇数个节点的群集) 可以承受的故障节点数为节点数的一半(四舍五入)减去一.例如,七个节点的群集可以承受三个节点出现故障. 节点和磁盘多数(推荐用于含有偶数个节 ...

  8. windows 网络共享传送文件超慢

    这可是无线局域网,竟然只有 200K/s. 调查经过: 1) 问题是单向的, B->A 没有问题, A->B就出事 2) 只发生在 Windows网络共享, A上装了apache测试, A ...

  9. 增加centos7.3上安装php7的php-soap扩展

    代码传到正式服务器上去就:Class 'SoapClient' not found,只能是soap扩展没装!    因为服务器上面的PHP是7.1.11的,所以soap也要装7.1.11的,否则会冲突 ...

  10. win10 自己DIY的arp绑定小脚本

    @echo off&mode con cols=80 lines=22&title ARP_bind Tools setlocal enabledelayedexpansion rem ...