当前位置: 首页 > web >正文

二维差分数组(JAVA)蓝桥杯

在这里插入图片描述

二维差分数组可以根据二维前缀和数组移项得到,对二维差分数组b[i][j]加或者减去一个数,就意味着计算二维前缀和数组后的原数组从这个点开始到最后一个点的矩形都加上或者减去这个数。所以可以根据上面的计算。

package com.js.datastructure.recursion.蓝桥;import java.util.Scanner;public class 二维差分 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int m = scanner.nextInt();int q = scanner.nextInt();int[][] a = new int[n+2][m+2];//操作完成后可以直接在差分数组上求前缀和int[][] b = new int[n+2][m+2];//计算差分数组for (int i = 1; i < n+1; i++) {for (int j = 1; j < m+1; j++) {a[i][j] = scanner.nextInt();b[i][j] = a[i][j] - a[i-1][j] - a[i][j-1] + a[i-1][j-1];}}//进行操作for (int i = 0; i < q; i++) {int x1 = scanner.nextInt();int y1 = scanner.nextInt();int x2 = scanner.nextInt();int y2 = scanner.nextInt();int d = scanner.nextInt();b[x1][y1] += d;b[x2+1][y1] -= d;b[x1][y2+1] -= d;b[x2+1][y2+1] += d;}//计算前缀和并输出原数组for (int i = 1; i < n+1; i++) {for (int j = 1; j < m+1; j++) {b[i][j] = b[i][j] + b[i-1][j] + b[i][j-1] - b[i-1][j-1];System.out.print(b[i][j] + " ");}System.out.println();}}
}
http://www.xdnf.cn/news/4969.html

相关文章:

  • k8s之ingress
  • 使用 docker 安装 nacos3.x
  • upload-labs靶场通关详解:第三关
  • 【漫话机器学习系列】249.Word2Vec自然语言训练模型
  • 十二、基于大模型的在线搜索平台——信息抓取
  • 智能网联汽车 “中央计算” 博弈:RTOS 与跨域融合的算力分配挑战
  • 网络研讨会开发注册中, 5月15日特励达力科,“了解以太网”
  • stm32之USART
  • Day 15 训练
  • OpenHarmony平台驱动开发(十一),PIN
  • 线程的生命周期·
  • [计算机科学#13]:算法
  • 探秘 InSAR:数据处理与形变信息提取全解析
  • centos 7 安装 java 运行环境
  • 左支座加工工艺与钻φ25孔专用夹具设计
  • Bearer Token的神秘面纱:深入解析HTTP认证头的设计哲学
  • JAVA实战开源项目:健身房管理系统 (Vue+SpringBoot) 附源码
  • qxl显卡与spice模块笔记
  • 规则组,注入组
  • setData执行后操作方法-微信小程序
  • DeepResearch深度搜索实现方法调研
  • 在线工具源码_字典查询_汉语词典_成语查询_择吉黄历等255个工具数百万数据 养站神器,安装教程
  • 嵌入式学习笔记 - 垂直消隐期
  • 自然语言处理-词性标注的基本概念
  • 黄金、碳排放期货市场API接口文档
  • 【阿里云免费领取域名以及ssl证书,通过Nginx反向代理web服务】
  • BUUCTF——杂项渗透之赛博朋克
  • 操作系统导论——第27章 插叙:线程API
  • softmax传递函数+交叉熵损失
  • ACTF2025 - Web writeup