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

18、差分

差分

题目描述

输入一个长度为n的整数序列。

接下来输入m个操作,每个操作包含三个整数l, r, c,表示将序列中[l, r]之间的每个数加上c。

请你输出进行完所有操作后的序列。

输入格式

第一行包含两个整数n和m。

第二行包含n个整数,表示整数序列。

接下来m行,每行包含三个整数l,r,c,表示一个操作。

输出格式

共一行,包含n个整数,表示最终序列。

数据范围1≤n,m≤100000,
1≤l≤r≤n,1000≤c≤1000,1000≤整数序列中元素的值≤1000输入样例:6 3
1 2 2 1 2 1
1 3 1
3 5 1
1 6 1输出样例:3 4 5 3 4 2

Solution

import java.util.*;
import java.io.*;public class Main{public static void main(String[] args) throws IOException{BufferedReader in = new BufferedReader(new InputStreamReader(System.in));String[] s = in.readLine().split(" ");// 整数序列 n 个整数int n = Integer.parseInt(s[0]);// m 个插入操作// 插入操作对于数组的索引是从 1 开始的// 所以建立差分数组也是从从 1 开始,比较不容易出错int m = Integer.parseInt(s[1]);s = in.readLine().split(" ");int[] a = new int[n + 10];for(int i = 1; i <= n; i++){int c = Integer.parseInt(s[i - 1]);// 插入 cinsert(a, i, i, c);}while(m > 0){m--;s = in.readLine().split(" ");int l = Integer.parseInt(s[0]);int r = Integer.parseInt(s[1]);int c = Integer.parseInt(s[2]);insert(a, l, r, c);}for(int i = 1; i <= n; i++){a[i] += a[i - 1];System.out.print(a[i] + " ");}}public static void insert(int[] a, int l, int r, int c){a[l] += c;a[r + 1] -= c;}}
http://www.lryc.cn/news/336036.html

相关文章:

  • 13 指针(上)
  • AI 对话完善【人工智能】
  • 利用数组储存表格数据
  • [数据概念|数据技术]智能合约如何助力数据资产变现
  • JS中的常见二进制数据格式
  • uniapp开发h5端使用video播放mp4格式视频黑屏,但有音频播放解决方案
  • Hive的分区与排序
  • Objective-C学习笔记(内存管理、property参数)4.9
  • C语言进阶课程学习记录-第29课 - 指针和数组分析(下)
  • 一起学习python——基础篇(13)
  • SOCKS代理概述
  • AI助力M-OFDFT实现兼具精度与效率的电子结构方法
  • 【数据结构】单链表(一)
  • SCI一区 | Matlab实现INFO-TCN-BiGRU-Attention向量加权算法优化时间卷积双向门控循环单元注意力机制多变量时间序列预测
  • Coursera吴恩达《深度学习》课程总结(全)
  • C# 操作PDF表单 - 创建、填写、删除PDF表单域
  • Astropy:探索宇宙奥秘的Python工具箱
  • java数据结构与算法刷题-----LeetCode684. 冗余连接
  • 循环神经网络简介
  • 计算机网络 子网掩码与划分子网
  • HUD抬头显示器中如何设计LCD的阳光倒灌实验
  • Shoplazza闪耀Shoptalk 2024,新零售创新解决方案引领行业新篇章!
  • Linux:sprintf、snprintf、vsprintf、asprintf、vasprintf比较
  • Github远程仓库改名字之后,本地git如何配置?
  • Objective-C学习笔记(ARC,分类,延展)4.10
  • 02 Git 之IDEA 集成使用 GitHub(Git同时管理本地仓库和远程仓库)
  • CSS滚动条样式修改
  • 《零秒思考》像麦肯锡精英一样思考 - 三余书屋 3ysw.net
  • 使用docker制作Android镜像(实操可用)
  • 大厂MVP技术JAVA架构师培养