知识点:差分

难度:4

这个是二维差分的裸题,只用二维差分就能过,二维差分和一维差分一样,主要有两个操作,第一是我们通过原矩阵(二维)序列求出它的差分序列,第二个操作就是通过O(1)的时间复杂度对一个矩形区域的数据同加同减,然后我们求差分序列的前缀和,就能得到修改后的数据,然后题目要求的是每次只能对固定长度的区域进行修改,这算是一个限制条件,一维差分求最小修改次数的题貌似可以没有这个要求,但是二维差分毕竟是二维的,没有这个要求好像出不了题,所以加上了固定区间的要求,我们只要类比一下一维差分固定区间长度修改的情形,然后应用到二维差分上面就行了,这里也应用了思维,递推等方法,一维的序列,我们要让第一个变为零,只有一个方法,就是差分序列减去它本身,然后区间末尾的配合它,这是唯一的办法,然后向后递推就可以了,最后扫描一遍整个差分序列,看是不是都变为零了就行了

#include <bits/stdc++.h>using namespace std;const int N = 5005;int a[N][N], b[N][N];int main() {int n, m, k;cin >> n >> m >> k;while (m--) {int x, y, z;scanf("%d %d %d", &x, &y, &z);a[x][y] = z;}for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {b[i][j] = a[i][j] - a[i - 1][j] - a[i][j - 1] + a[i - 1][j - 1];}}long long ans = 0;for (int i = 1; i <= n - (k - 1); i++) {for (int j = 1; j <= n - (k - 1); j++) {int tmp = b[i][j];ans += (long long) abs(tmp);b[i][j] -= tmp;b[i + k][j] += tmp;b[i][j + k] += tmp;b[i + k][j + k] -= tmp;}}int ok = 1;for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {if (b[i][j]) ok = 0;}}cout << (ok ? ans : -1);return 0;
}

P6070 『MdOI R1』Decrease相关推荐

  1. 【01trie】【启发式合并】P6072 『MdOI R1』Path

    题意 每个点有点权,求两条没有交点的路径,使得两条路径的异或和的和最大 n ≤ 3 e 4 时 限 : 3.5 s n \le 3e4 \\ 时限:3.5s n≤3e4时限:3.5s 分析 给每个点求 ...

  2. 洛谷 2 月月赛 I 『MdOI R4』 (Div2) A ~ D 四题全,也许会有六题,超高质量题解 (Div.1E、F下辈子一定补)【每日亿题2 / 9】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A.P7337 『MdOI R4』Fun B.P7338 『MdOI R4』Color C.P7 ...

  3. 『中级篇』docker容器安装wordpress(37)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』docker容器安装wordpress(37) 第一节的时候我就部署过wordpress,可能很多老铁一头雾水不知道 ...

  4. linux网络命名空间详解,『中级篇』 Linux网络命名空间(25)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』 Linux网络命名空间(25) docker底层技术,非常重要的关于namespace,network的names ...

  5. [日推荐]『保养汽车』爱车的专职管家

    2019独角兽企业重金招聘Python工程师标准>>> 你的爱车需要做保养啦! 想要挑一个优惠力度大.口碑好的4S店,又嫌电话预约太麻烦? 这个小程序你一定会爱不释手-- 保养汽车 ...

  6. 『高级篇』docker之APIGateway(17)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『高级篇』docker之APIGateway(17) 这次说最后一个模块APIGateway,他的功能就是将我们客户端的请求统 ...

  7. 『中级篇』k8s基础网络Cluster Network(66)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』k8s基础网络Cluster Network(66) 通过国人大神的一键安装k8s集群安装了3个master节点和3 ...

  8. 『中级篇』Minikube快速搭建K8S单节点环境(61)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』Minikube快速搭建K8S单节点环境(61) 去介绍k8s的集群安装,本地搭建一个k8s的集群. 不会科学上网的 ...

  9. 『高级篇』docker容器来说什么是微服务(三)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『高级篇』docker容器来说什么是微服务(三) 上一节说了单体架构,单体架构也无法适应我们的服务,来说说微服务,看能否解决单 ...

  10. 『中级篇』docker之CI/CD持续集成-项目生成镜像(76)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』docker之CI/CD持续集成-项目生成镜像(76) 开始想用docker registry做私有镜像库,后来放弃 ...

最新文章

  1. Splay ---- 文艺平衡树区间翻转的建树模式
  2. ——————————————————————————————————1203————————————————————————————————...
  3. c++经典书籍--提高C++性能的编程技术
  4. 插入DLL和挂接API——Windows核心编程学习手札之二十二
  5. Python中文问题 或 SyntaxError: Non-ASCII character '\xe8' in file
  6. [转载] 七龙珠第一部——第094话 太阳拳
  7. java 校验文件类型_java如何判断一个文件的类型 | 学步园
  8. java语言注释符号,高级Java开发必看
  9. rocketmq linux环境下载地址,Linux下RocketMQ下载安装教程
  10. Linux内存映射实现框架
  11. hdu-acm steps Common Subsequence
  12. 华硕 天选2 R9-5900HX RTX3060 安装ubuntu18.04以及探索内核与驱动的关系
  13. TUXEDO中间件介绍及应用
  14. 电脑主机插入耳机无声音
  15. 双目测距算法matlab模拟,基于BM算法的双目测距.pdf
  16. python numpy读取txt文件_使用NumPy读写文件
  17. 新增spring Converter解析器中使用lambda表达式代替匿名内部类是启动报错:... does the class parameterize those types?
  18. 撰写全英文EI会议论文值得注意的要点!
  19. android 左右声道,Android立体声pcm的数据结构,左右声道拆分、左右声道反转
  20. 【语音隐藏】基于matlab小波变换DWT结合离散余弦变换DCT音频数字水印嵌入提取【含Matlab源码 2131期】

热门文章

  1. MATLAB——斜抛运动
  2. 用计算机求已知两点坐标方位角,python 计算方位角实例(根据两点的坐标计算)
  3. 慧之声科技- 程序员的爱情故事
  4. JAVA 使用aspose.cad将dwg文件转PDF(每个布局转为一页)
  5. 读《别在该努力的年纪,徘徊不前》有感
  6. Ajax请求下载文件
  7. 怎样在Word2010中新建样式
  8. 回答老板“明白了”,可真的明白了吗?
  9. kali使用jd-gui
  10. jpg格式图片怎样压缩?电脑如何压缩jpg图片?