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

ui做的好的网站vs 2008 手机网站开发

ui做的好的网站,vs 2008 手机网站开发,怎么网上推广自己的门店,网站节约化建设差分矩阵 1.题目2.基本思想3.代码实现 1.题目 输入一个 n n n 行 m m m列的整数矩阵#xff0c;再输入 q q q 个操作#xff0c;每个操作包含五个整数 x 1 , y 1 , x 2 , y 2 , c x1,y1,x2,y2,c x1,y1,x2,y2,c#xff0c;其中 ( x 1 , y 1 ) (x1,y1) (x1,y1) 和 ( x … 差分矩阵 1.题目2.基本思想3.代码实现 1.题目 输入一个 n n n 行 m m m列的整数矩阵再输入 q q q 个操作每个操作包含五个整数 x 1 , y 1 , x 2 , y 2 , c x1,y1,x2,y2,c x1,y1,x2,y2,c其中 ( x 1 , y 1 ) (x1,y1) (x1,y1) 和 ( x 2 , y 2 ) (x2,y2) (x2,y2)表示一个子矩阵的左上角坐 标和右下角坐标。 每个操作都要将选中的子矩阵中的每个元素的值加上 c c c。 请你将进行完所有操作后的矩阵输出。 输入格式 第一行包含两个整数 n n n 和 m m m。 第二行包含 n n n 个整数表示整数序列。 接下来 m m m 行每行包含三个整数 l r c lrc lrc表示一个操作。 输出格式 共 n 行每行 m个整数表示所有操作进行完毕后的最终矩阵。 数据范围 1 ≤ n , m ≤ 1000 , 1≤n,m≤1000, 1≤n,m≤1000, 1 ≤ q ≤ 100000 , 1≤q≤100000, 1≤q≤100000, 1 ≤ x 1 ≤ x 2 ≤ n , 1≤x1≤x2≤n, 1≤x1≤x2≤n, 1 ≤ y 1 ≤ y 2 ≤ m , 1≤y1≤y2≤m, 1≤y1≤y2≤m, − 1000 ≤ c ≤ 1000 , −1000≤c≤1000, −1000≤c≤1000, − 1000 ≤ 矩阵内元素的值 ≤ 1000 −1000≤矩阵内元素的值≤1000 −1000≤矩阵内元素的值≤1000 输入样例 3 4 3 1 2 2 1 3 2 2 1 1 1 1 1 1 1 2 2 1 1 3 2 3 2 3 1 3 4 1 输出样例 2 3 4 1 4 3 4 1 2 2 2 2 2.基本思想 前缀和的逆运算 如果扩展到二维我们需要让二维数组被选中的子矩阵中的每个元素的值加上 c c c,是否也可以达到 O ( 1 ) O(1) O(1)的时间复杂度。答案是可以的考虑二维差分。 a [ ] [ ] a[][] a[][]数组是 b [ ] [ ] b[][] b[][]数组的前缀和数组那么 b [ ] [ ] b[][] b[][]是 a [ ] [ ] a[][] a[][]的差分数组 原数组 a [ i ] [ j ] a[i][j] a[i][j] 我们去构造差分数组 b [ i ] [ j ] b[i][j] b[i][j] 使得 a a a数组中 a [ i ] [ j ] a[i][j] a[i][j]是 b b b数组左上角 ( 1 , 1 ) (1,1) (1,1)到右下角 ( i , j ) (i,j) (i,j)所包围矩形元素的和。 如何构造 b b b数组呢 我们去逆向思考。 同一维差分我们构造二维差分数组目的是为了 让原二维数组 a a a中所选中子矩阵中的每一个元素加上 c c c的操作可以由 O ( n ∗ n ) O(n*n) O(n∗n)的时间复杂度优化成 O ( 1 ) O(1) O(1) 已知原数组 a a a中被选中的子矩阵为 以 ( x 1 , y 1 ) (x1,y1) (x1,y1)为左上角以 ( x 2 , y 2 ) (x2,y2) (x2,y2)为右下角所围成的矩形区域; 始终要记得 a a a数组是 b b b数组的前缀和数组比如对 b b b数组的 b [ i ] [ j ] b[i][j] b[i][j]的修改会影响到 a a a数组中从 a [ i ] [ j ] a[i][j] a[i][j]及往后的每一个数。 假定我们已经构造好了 b b b数组类比一维差分我们执行以下操作 来使被选中的子矩阵中的每个元素的值加上 c c c b[x1][y1] c; b[x1,][y21] - c; b[x21][y1] - c; b[x21][y21] c; 每次对b数组执行以上操作等价于 for(int ix1;ix2;i)for(int jy1;jy2;j)a[i][j]c;我们画个图去理解一下这个过程 b[x1][ y1 ] c ; 对应图1 ,让整个a数组中蓝色矩形面积的元素都加上了c。 b[x1,][y21]-c ; 对应图2 ,让整个a数组中绿色矩形面积的元素再减去c使其内元素不发生改变。 b[x21][y1]- c ; 对应图3 ,让整个a数组中紫色矩形面积的元素再减去c使其内元素不发生改变。 b[x21][y21]c; 对应图4,让整个a数组中红色矩形面积的元素再加上c红色内的相当于被减了两次再加上一次c才能使其恢复。 我们将上述操作封装成一个插入函数: void insert(int x1,int y1,int x2,int y2,int c) { //对b数组执行插入操作等价于对a数组中的(x1,y1)到(x2,y2)之间的元素都加上了cb[x1][y1]c;b[x21][y1]-c;b[x1][y21]-c;b[x21][y21]c; }我们可以先假想a数组为空那么b数组一开始也为空但是实际上a数组并不为空因此我们每次让b数组以(i,j)为左上角到以(i,j)为右下角面积内元素(其实就是一个小方格的面积)去插入 ca[i][j]等价于原数组a中(i,j) 到(i,j)范围内 加上了 a[i][j] ,因此执行n*m次插入操作就成功构建了差分b数组. for(int i1;in;i){for(int j1;jm;j){insert(i,j,i,j,a[i][j]); //构建差分数组}}总结 3.代码实现 import java.util.Scanner;public class Main {static int N 1010;static int[][] a new int[N][N], b new int[N][N];public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt(), m sc.nextInt(), q sc.nextInt();for (int i 1; i n; i)for (int j 1; j m; j)a[i][j] sc.nextInt();for (int i 1; i n; i)for (int j 1; j m; j)insert(i, j, i, j, a[i][j]);while (q-- 0) {int x1 sc.nextInt(), y1 sc.nextInt(), x2 sc.nextInt(), y2 sc.nextInt(), c sc.nextInt();insert(x1, y1, x2, y2, c);}//二维前缀和for (int i 1; i n; i) {for (int j 1; j m; j) {b[i][j] b[i][j - 1] b[i - 1][j] - b[i - 1][j - 1];}}for (int i 1; i n; i) {for (int j 1; j m; j) {System.out.print(b[i][j] );}System.out.println();}}private static void insert(int x1, int y1, int x2, int y2, int c) {b[x1][y1] c;b[x2 1][y1] - c;b[x1][y2 1] - c;b[x2 1][y2 1] c;} }
http://www.zqtcl.cn/news/629193/

相关文章:

  • 网站开发是打代码吗建网站来做什么
  • 制作网站需要什么软件wordpress建站程序
  • 做网站网站怎么赚钱软件工程师证书报考时间
  • 手机和电脑网站分开做炒股软件下载
  • 网站建设需要注意哪些关键细节杭州做商务网站
  • 做网站,图片显示不出来网站图标代码
  • 理财网网站开发源码h5淘宝网网页版入口
  • 免费网站商城模板宁波企业网站搭建图片
  • 上海网站备案查询建站图标素材
  • 贵州省住房和建设厅网网站网站页面设计报告
  • 做网站友汇网快速建设网站视频教程
  • 物流公司做网站注重什么官网的网站设计公司
  • 网站备案 2016电子商务平台起名
  • 济南建站详情房地产市场分析
  • 南宁品牌网站建设公司中国商业企业网
  • 建设招标网官方网站电脑版做系统简单还是网站简单
  • 网站平台建设总结品牌网页
  • 网站建设如何就接入支付宝企业云平台
  • swoole做网站做网站建设的上市公司有哪些
  • 建设银行江苏官网招聘网站网站设置首页连接分类页的视频教程
  • 通过dede访问自己做的网站高端 建站
  • wordpress自定义json温岭新站seo
  • 网站开发的五个阶段wordpress安装在本地
  • 郴州网站建设有哪些sem优化
  • 在百度怎么申请自己的网站深圳网站建设迅美
  • wordpress 企业网站教程网站开发集成软件
  • 专业的西安免费做网站wordpress手机端插件
  • 口碑好网站建设优化大师win10下载
  • 网站建设普及型小程序开发平台好的有哪些
  • 网站建设与管理专业凡科做的网站好吗