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

海底高铁--差分

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

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

#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;
} 


http://www.kler.cn/a/610383.html

相关文章:

  • react组件中useRef声明的变量和let声明的变量区别
  • 清华大学第十二版!!《机器语言大模型赋能软件自主可控与安全可信》
  • linux的基础命令
  • redis 缓存穿透
  • Spring Boot网站性能优化全解析
  • 浏览器渲染原理与优化详解
  • 【redis】哨兵节点作用演示和重选主节点详细流程
  • 简单方法胜过大语言模型?!单细胞扰动敲除方法的实验
  • Rust从入门到精通之入门篇:5.控制流
  • AOA与TOA混合定位,MATLAB例程,自适应基站数量,三维空间下的运动轨迹,滤波使用EKF
  • Git 是什么
  • AI日报 - 2025年3月27日
  • 【解锁 Oracle OCP:数据库专家的进阶之路】
  • Jetpack LiveData 使用与原理解析
  • 关于服务器只能访问localhost:8111地址,局域网不能访问的问题
  • SQL语句---特殊查询
  • 蓝桥杯算法实战分享
  • 基于腾讯云高性能HAI-CPU实现企业财报分析
  • css写法汇总
  • 【android】补充