7.一维差分

一维差分

前缀和的逆运算

题目:
java 复制代码
 public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        // 输入 n 和 m
        int n = sc.nextInt();
        int m = sc.nextInt();
        // 数组定义
        int[] a = new int[n + 1];  // a[1] 到 a[n] 为有效数据
        int[] b = new int[n + 1];  // b[1] 到 b[n] 为有效数据
        // 输入数组 a
        for (int i = 1; i <= n; i++) {
            a[i] = sc.nextInt();
        }
        // 初始化差分数组 b
        for (int i = 1; i <= n; i++) {
            insert(b, i, i, a[i]);
        }
        // 处理 m 次区间操作
        while (m-- > 0) {
            int l = sc.nextInt();
            int r = sc.nextInt();
            int c = sc.nextInt();
            insert(b, l, r, c);
        }
        // 计算并输出最终结果
        for (int i = 1; i <= n; i++) {
            b[i] += b[i - 1];
            System.out.print(b[i] + " ");
        }
        sc.close();
    }

    // 区间更新操作
    private static void insert(int[] b, int l, int r, int c) {
        b[l] += c;
        if (r + 1 <= b.length - 1) {
            b[r + 1] -= c;
        }
    }
相关推荐
随意起个昵称1 小时前
区间dp-基础题目1(石子合并)
算法·动态规划
吞下星星的少年·-·1 小时前
线段树模板
算法
橙淮2 小时前
并发编程(六)
java·jvm
段一凡-华北理工大学2 小时前
2026 高炉炼铁智能化技术全景与演进路径~系列文章11:演进路径与行业未来
大数据·网络·人工智能·算法·工业智能体·高炉炼铁智能化
拽着尾巴的鱼儿2 小时前
springboot openfeign 自定义feign 接口重试机制
java·spring boot·后端
白露与泡影2 小时前
2026大厂Java面试题大全!牛客网最新版
java·开发语言
叶小鸡2 小时前
小鸡玩算法-力扣HOT100-多维动态规划
算法·leetcode·动态规划
星马梦缘2 小时前
aaaaa
数据结构·c++·算法
EntyIU3 小时前
JVM内存与GC笔记
java·jvm·笔记
OpenApi.cc3 小时前
神经网络结构驱动+数据结构分析
数据结构·人工智能·神经网络