海底高铁--差分

明显用差分·来统计坐每一段的次数

然后忘开ll喜提70,(;′д`)ゞ

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll,int> PII;
int n,m;
ll an;
ll p[100011];
ll a[100011];
ll b[100011];
ll c[100011];
ll df[100011];
ll s[100011];
int main()
{
 cin>>n>>m;
 for(int i=0;i<m;i++)
 {
 	cin>>p[i];
 }
 for(int i=1;i<=n-1;i++) cin>>a[i]>>b[i]>>c[i];
 for(int i=0;i<m-1;i++)
 {
 	int l=min(p[i],p[i+1]);
 	int r=max(p[i],p[i+1]);
 	df[r]--;
 	df[l]++;
 }
 for(int i=1;i<=n-1;i++)
 {
 	s[i]=s[i-1]+df[i];
 	//cout<<s[i]<<" ";
 }
 for(int i=1;i<=n-1;i++)
 {
 	if(a[i]*s[i]<c[i]+b[i]*s[i])
 	{
 		an+=a[i]*s[i];
	 }else an+=c[i]+b[i]*s[i];
 }
 cout<<an;
return 0;
} 
相关推荐
说文科技4 小时前
大模型项目实战之dpo微调
人工智能·算法
晚风吹长发4 小时前
初步了解Linux中的线程概率及线程控制
linux·运维·服务器·开发语言·c++·centos·线程
睡一觉就好了。4 小时前
归并排序——递归与非递归的双重实现
数据结构·算法·排序算法
酉鬼女又兒5 小时前
SQL23 统计每个学校各难度的用户平均刷题数
数据库·sql·算法
爱学习的阿磊5 小时前
模板代码跨编译器兼容
开发语言·c++·算法
毕设源码-钟学长5 小时前
【开题答辩全过程】以 基于协同过滤推荐算法的小说漫画网站设计与实现为例,包含答辩的问题和答案
算法·机器学习·推荐算法
带鱼吃猫5 小时前
C++STL:从 0 到 1 手写 C++ string以及高频易错点复盘
开发语言·c++
u0109272715 小时前
代码覆盖率工具实战
开发语言·c++·算法
懈尘5 小时前
深入理解Java的HashMap扩容机制
java·开发语言·数据结构
We་ct5 小时前
LeetCode 73. 矩阵置零:原地算法实现与优化解析
前端·算法·leetcode·矩阵·typescript