【模板】二维差分

简介: 【模板】二维差分

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
const int N= 1e3+3;
int n, m, q;
long long a[N][N], b[N][N];
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;
}
int main(){
  cin>>n>>m>>q;
  for(int i= 1; i<= n; i++)
    for(int j= 1; j<= m; j++){
      cin>>a[i][j];
      insert(i, j, i, j , a[i][j]);
    }
  while(q--){
    int x1, y1, x2, y2, c;
    cin>>x1>>y1>>x2>>y2>>c;
    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-1][j]+b[i][j-1]-b[i-1][j-1];
      cout<<b[i][j]<<" ";
    }
    puts("");
  }
  return 0;
}

insert 函数:

puts(""); 是一条用于输出空字符串的语句

puts 函数puts 是 C 标准库中的一个函数,用于向标准输出设备(通常是终端屏幕)输出一个字符串,并在字符串末尾自动添加换行符(\n)。

空字符串:双引号 "" 包围的部分即为空字符串。空字符串没有可见字符,只包含一个空字符(\0)作为终止符。尽管它看起来似乎没有任何作用,但在某些场景下仍然有意义,如占位、满足语法要求或与外部接口对接时保持一致等。

puts(""); 这一行代码的作用就是向标准输出设备输出一个空字符串,并在其后添加一个换行符。实际效果就是在屏幕上显示一个空行。

虽然从表面上看,输出一个空字符串似乎没有实际意义,但在某些特定情况下可能有用,例如:

  • 为了保持代码结构的一致性,或者在调试时方便注释和取消注释某段代码,可能会保留一个空的 puts 调用。
  • 在某些循环或条件结构中,根据特定条件决定是否输出内容时,可能会先写出一个空的 puts,然后在合适的地方替换为实际的字符串。
  • 当需要频繁与某个期望接收空字符串作为输入的外部接口交互时,使用 puts("") 可能更为直观和便捷。

然而,在大多数实际编程场景中,如果单纯是为了输出一个空行,通常会选择使用更直接的 std::endl(在 C++ 中)或 \n(在 C 或 C++ 中)与输出流操作符结合,

std::cout << std::endl; // C++

std::cout << '\n'; // C 或 C++

printf("\n"); // C

这些写法更为简洁,且不会引入不必要的函数调用开销。


目录
相关文章
|
17小时前
|
存储 机器学习/深度学习 算法
【算法训练-数组 三】【数组矩阵】螺旋矩阵、旋转图像、搜索二维矩阵
【算法训练-数组 三】【数组矩阵】螺旋矩阵、旋转图像、搜索二维矩阵
37 0
|
17小时前
|
存储 人工智能 算法
二维差分与二维前缀和
二维差分与二维前缀和
22 3
|
17小时前
|
机器学习/深度学习 存储 人工智能
利用前缀和计算二维矩阵子矩阵的和
利用前缀和计算二维矩阵子矩阵的和
19 0
|
10月前
|
人工智能 vr&ar
一维 二维求前缀和、差分
一维 二维求前缀和、差分
37 0
|
Python
点云在任意平面上获取二维投影
点云在任意平面上获取二维投影
956 0
点云在任意平面上获取二维投影
(二维前缀和模板)796. 子矩阵的和
(二维前缀和模板)796. 子矩阵的和
48 0
|
资源调度 PyTorch 算法框架/工具
pytorch 如何生成指定位置、尺度参数的随机高斯矩阵,并指定这个随机矩阵的形式
在上述代码中,我们使用 torch.normal(mean=mu, std=sigma, size=(m, n)) 函数直接生成了一个形状为 (m, n) 的随机高斯矩阵 data,其中 mean 参数指定了均值,std 参数指定了标准差。 需要注意的是,与 torch.randn() 不同,torch.normal() 生成的是具有指定均值和标准差的高斯分布,因此生成的随机矩阵不一定是标准正态分布。如果需要生成标准正态分布随机矩阵,可以将 mean 参数设置为 0,std 参数设置为 1。
936 1
|
人工智能 算法 安全
【基础算法】差分的应用(一维差分和二维差分)
【基础算法】差分的应用(一维差分和二维差分)
156 0
【基础算法】差分的应用(一维差分和二维差分)
|
计算机视觉 索引
三天学会opencv(二)——矩阵的掩膜操作
三天学会opencv(二)——矩阵的掩膜操作
三天学会opencv(二)——矩阵的掩膜操作