海底高铁--差分

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

然后忘开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;
} 
相关推荐
你撅嘴真丑16 小时前
第九章-数字三角形
算法
在路上看风景16 小时前
19. 成员初始化列表和初始化对象
c++
uesowys16 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
zmzb010316 小时前
C++课后习题训练记录Day98
开发语言·c++
ValhallaCoder16 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
董董灿是个攻城狮16 小时前
AI 视觉连载1:像素
算法
念风零壹16 小时前
C++ 内存避坑指南:如何用移动语义和智能指针解决“深拷贝”与“内存泄漏”
c++
智驱力人工智能16 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
孞㐑¥17 小时前
算法——BFS
开发语言·c++·经验分享·笔记·算法
月挽清风17 小时前
代码随想录第十五天
数据结构·算法·leetcode