海底高铁--差分

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

然后忘开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;
} 
相关推荐
Java版蜡笔小新几秒前
算法-贪心算法
算法·贪心算法
LuckyAnJo9 分钟前
Leetcode-100 回溯法-电话号码的字母组合
python·算法·leetcode
HR Zhou17 分钟前
群体智能优化算法-鹈鹕优化算法(Pelican Optimization Algorithm, POA,含Matlab源代码)
算法·机器学习·matlab·优化·群体智能优化
钰爱&22 分钟前
【Qt】ffmpeg编码—存储(H264)
c++·qt·ffmpeg
LuckyLay28 分钟前
LeetCode算法题(Go语言实现)_20
算法·leetcode·职场和发展·golang
想要成为计算机高手42 分钟前
12. STL的原理
开发语言·c++·经验分享·stl
Heisenberg~1 小时前
C++ 多态:面向对象编程的核心概念(二)
c++
意疏1 小时前
【数据结构篇】算法征途:穿越时间复杂度与空间复杂度的迷雾森林
数据结构
Phoebe鑫1 小时前
数据结构每日一题day7(顺序表)★★★★★
算法
Suc_zhan3 小时前
实验二 如何将随机森林算法应用于激酶抑制剂分类任务
python·算法·随机森林·机器学习