差分: 模板+题目

题目:【模板】差分

应用场景:快速解决将某一个区间所有元素加上 “一个数” 的操作。

第一步,预处理差分数组。

f[i] 表示:当前元素与前一个元素的差值    a[i] - a[i-1];

但在题目中,我们其实可以不用到a[]这个数组,只使用f[]数组。我们可以先减后加:(易错)

		LL x; cin >> x;f[i+1] -= x;   //可以不用创建a[],直接使用f[]  先减后加f[i] += x;

第二步,利用差分数组解决m次修改操作

第三步,如何还原数组

直接对差分数组做前缀和运算即可。(前面的数变大,后面的数加上前面的数自然会变大)

#include <iostream>using namespace std;
typedef long long LL;
const int N = 1e6 + 10;
LL f[N]; int n, m; int main()
{cin >> n >> m;//有几个数,有m次操作for (int i = 1; i <= n; i++){LL x; cin >> x;f[i+1] -= x;   //可以不用创建a[]:  先减后加f[i] += x;}while(m--){LL l, r, k; cin >> l >> r >> k;f[l] += k; f[r+1] -= k;} for (int i = 1; i <= n; i++){f[i] = f[i-1] + f[i];cout << f[i] << " ";}return 0;
}

题目:P3406 海底高铁 - 洛谷

#include <iostream>using namespace std;
const int N = 1e6 + 10;
typedef long long LL;LL f[N];
int n, m;
LL sum = 0;//第二段铁路连接城市2-3 ,每次单独购买车票 
//花Ci买卡,乘坐只要扣给Bi元 //N,M  表示N个城市,N-1段铁路   要访问M个城市
//M个要访问的城市
//N-1个单独车票,买卡,买卡票 int main()
{cin >> n >> m;int x; cin >> x;int y;for (int i = 2; i <= m; i++){cin >> y;if (x > y){f[y]++;f[x]--;}else{f[y]--;f[x]++;}x = y;}for (int i = 1; i <= n; i++){f[i+1] += f[i];}for (int i = 1; i < n; i++){LL a, b, c; cin >> a >> b >> c;sum += min(f[i]*a, c+f[i]*b);}cout << sum << endl; return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/97879.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/97879.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GD32 Timer+ADC多通道+DMA+PWM调试记录

本例记录使用GD32307C开发板&#xff0c;实现以内部Timer1 CH1为触发源&#xff0c;触发ADC0的两个通道&#xff0c;进行并行非连续采样&#xff0c;病通过DMA传输采样结果。同时输出PWM&#xff0c;用来检测Timer1 CH1的触发周期。下面介绍具体实现过程&#xff1a;1. gpio初始…

阻塞 IO为什么叫BIO,非阻塞IO为什么叫NIO,异步IO为什么叫AIO

IOIO的核心就是数据传输&#xff0c;也就是程序与外部设备之间进行传输&#xff0c;通过IO的核心可以分为&#xff0c;文件IO和网络IO文件IO交互的对象就是本地存储设备&#xff0c;比方说读写本地文件。网络IO交互的对象就是网络设备&#xff0c;核心的应用场景就是网络通信。…

10分钟了解什么是多模态大模型

10分钟了解什么是多模态大模型&#xff08;MM-LLMs&#xff09; 1. 什么是多模态 Multimodality 多模态&#xff08;Multimodality&#xff09;是指集成和处理两种或两种以上不同类型的信息或数据的方法和技术。在机器学习和人工智能领域&#xff0c;多模态涉及的数据类型通常…

通过DSL生成Jenkins流水线

代码化管理 Jenkins 流水线&#xff08;Infrastructure as Code&#xff09; 版本控制&#xff1a;DSL 脚本可以像代码一样存入 Git、GitLab 等版本控制系统&#xff0c;所有任务配置的变更都有提交记录&#xff0c;便于追溯历史、回滚错误。协作效率&#xff1a;团队成员可以通…

信号量主要API及综合应用

1.信号量概述信号量是一个底层核心模块【int】类型变量&#xff0c;记录当前信号量数据。信号量 P 操作 (sem_wait)线程检测对应信号量底层 int 数据数值&#xff0c;如果大于 0&#xff0c;当前线程获得 CPU 执行权&#xff0c;同时将信号量底层 int 数据-1 操作。如果底层数据…

工业自动化领域的“超级跑车”:西门子TDC系统深度解析与实战架构

工业自动化领域的“超级跑车”&#xff1a;西门子TDC系统深度解析与实战架构 文章目录 工业自动化领域的“超级跑车”&#xff1a;西门子TDC系统深度解析与实战架构引言&#xff1a;当普通PLC遇到性能瓶颈第一章&#xff1a;认识TDC——它不是简单的“大型PLC”1.1 TDC究竟是什…

MySQL高阶查询语句与视图实战指南

MySQL高阶查询语句与视图实战指南 文章目录MySQL高阶查询语句与视图实战指南一、常用高阶查询技巧1. 按关键字排序&#xff08;ORDER BY&#xff09;基础用法进阶用法&#xff1a;多字段排序条件过滤2. 区间判断与去重&#xff08;AND/OR DISTINCT&#xff09;区间判断&#x…

解决Pytest参数化测试中文显示乱码问题:两种高效方法

在使用Pytest进行参数化测试时&#xff0c;许多开发者都会遇到一个常见但令人头疼的问题&#xff1a;当测试用例的ids参数包含中文字符时&#xff0c;控制台输出会出现乱码。这不仅影响了测试报告的可读性&#xff0c;也给测试结果的分析带来了困难。本文将深入探讨这个问题&am…

基于SpringBoot的校园流浪动物救助平台【spring boot实战项目、Java毕设、Java项目、Java实战】

&#x1f496;&#x1f496;作者&#xff1a;计算机毕业设计小途 &#x1f499;&#x1f499;个人简介&#xff1a;曾长期从事计算机专业培训教学&#xff0c;本人也热爱上课教学&#xff0c;语言擅长Java、微信小程序、Python、Golang、安卓Android等&#xff0c;开发项目包括…

利用kimi k2编写postgresql协议服务端的尝试

美团龙猫还是很有自知之明的 提问请用C编写postgresql协议服务端&#xff0c;能接收psql客户端或其他采用postgresql协议的工具的请求&#xff0c;实现将用户请求打印在控制台&#xff0c;并把回应发给客户端回答 抱歉&#xff0c;我无法为您编写完整的 PostgreSQL 协议服务端。…

医疗 AI 再突破:辅助诊断准确率超 90%,但落地医院仍面临数据安全与临床信任难题

一、引言&#xff08;一&#xff09;医疗 AI 发展背景在数字化与智能化浪潮的席卷下&#xff0c;医疗领域正经历着深刻变革&#xff0c;人工智能&#xff08;AI&#xff09;技术的融入成为这场变革的关键驱动力。近年来&#xff0c;医疗 AI 辅助诊断技术取得重大突破&#xff0…

Rocky Linux10.0安装zabbix7.4详细步骤

安装Rocky Linux10.0系统 请参考Rocky Linux10.0安装教程-CSDN博客 查看当前系统版本 cat /etc/*release 安装数据库 安装zabbix之前&#xff0c;需要先安装一个数据库来承载zabbix的数据。这里我选择在本机直接安装一个MariaDB数据库。 Rocky Linux10.0系统默认不包含MySQ…

JDBC插入数据

文章目录视频&#xff1a;JDBC插入数据环境准备写插入数据属性配置属性配置视频&#xff1a;JDBC插入数据 环境准备 MySQL环境 小皮面板 提供MySQL环境 写插入数据 属性配置 声明变量 属性配置 # . properties 是一个特俗的map 集合 # key : 字符串 value : 字符串…

GPU 服务器压力测试核心工具全解析:gpu-burn、cpu-burn 与 CUDA Samples

在 GPU 服务器的性能验证、稳定性排查与运维管理中,压力测试是关键环节,可有效检测硬件极限性能、散热效率及潜在故障。以下从工具原理、核心功能、使用场景等维度,详细介绍三款核心测试工具,帮助用户系统掌握 GPU 服务器压力测试方法。 一、GPU 专属压力测试工具:gpu-bu…

Python进程和线程——多线程

前面提到过进程是由很多线程组成的&#xff0c;那么今天廖老师就详细解释了线程是如何运行的。首先&#xff0c;&#xff0c;Python的标准库提供了两个模块&#xff1a;_thread和threading&#xff0c;_thread是低级模块&#xff0c;threading是高级模块&#xff0c;对_thread进…

【MySQL|第九篇】视图、函数与优化

目录 十、视图 1、简单视图&#xff1a; 2、复杂视图&#xff1a; 3、视图更新&#xff1a; 十一、函数 1、函数创建&#xff1a; 十二、数据库优化 1、索引优化&#xff1a; 2、查询优化&#xff1a; 3、设计优化&#xff1a; 十、视图 在 MySQL 中&#xff0c;视图…

使用Docker和虚拟IP在一台服务器上灵活部署多个Neo4j实例

使用Docker和虚拟IP在一台服务器上灵活部署多个Neo4j实例 前言 在现代应用开发中&#xff0c;图数据库Neo4j因其强大的关系处理能力而备受青睐。但有时候我们需要在同一台服务器上运行多个Neo4j实例&#xff0c;比如用于开发测试、多租户环境或者A/B测试。传统的端口映射方式…

K8s学习笔记(一):Kubernetes架构-原理-组件

Kubernetes&#xff08;简称 K8s&#xff09;是一款开源的容器编排平台&#xff0c;核心目标是实现容器化应用的自动化部署、扩展、故障恢复和运维管理。其设计遵循 “主从架构”&#xff08;Control Plane Node&#xff09;&#xff0c;组件分工明确&#xff0c;通过 “声明式…

ensp配置学习笔记 比赛版 vlan 静态路由 ospf bgp dhcp

学习配置VLAN 虚拟局域网&#xff0c;目的让两台在同一网段的设备&#xff0c;在交换机中访问。基础指令&#xff1a;sys 进入系统 sysname R1 修改交换机名字为R1 display cur 查看数据、端口等交换机信息 &#xff08;在端口中&#xff0c;可以直接display this 可以直接看…

仓颉编程语言青少年基础教程:enum(枚举)类型和Option类型

仓颉编程语言青少年基础教程&#xff1a;enum&#xff08;枚举&#xff09;类型和Option类型enum 和 Option 各自解决一类“语义级”问题&#xff1a;enum 让“取值只在有限集合内”的约束从注释变成编译器强制&#xff1b;Option 让“值可能不存在”的语义显式化。enum类型enu…