差分矩阵_java

复制代码
import java.util.*;

public class Main{
    private static int N=1010;
    private static int[][] res=new int[N][N];
    private static int[][] temp=new int[N][N];
    
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        int n=in.nextInt(), m=in.nextInt();
        int q=in.nextInt();
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                res[i][j]=in.nextInt();
                insert(i,j,i,j,res[i][j]);
            }
        }
        while(q-->0){
            int x1=in.nextInt(), y1=in.nextInt(), x2=in.nextInt(), y2=in.nextInt(), c=in.nextInt();
            insert(x1,y1,x2,y2,c);
        }
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                temp[i][j]+=temp[i][j-1]+temp[i-1][j]-temp[i-1][j-1];
                System.out.printf("%d ",temp[i][j]);
            }
            System.out.println("");
        }
    }
    
    public static void insert(int x1,int y1,int x2,int y2,int c){
        temp[x1][y1]+=c;
        temp[x2+1][y2+1]+=c;
        temp[x2+1][y1]-=c;
        temp[x1][y2+1]-=c;
    }
}
复制代码

 

posted @   苏子你得风驰电掣  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示