19| 海底高铁

一、核心思路

行程是从 P1、P2...Pk,每一段都会经过若干段铁路。可以利用差分数组来统计每一段铁路(第Pi 段)在整个行程中被经过的总次数。对于每一段铁路Pi,我们可以独立决策是全部买纸质票,还是买一张 IC 卡后每次刷卡。

二·、代码实现

cpp 复制代码
typedef long long LL;
const int N = 1e6;
int n, m;
LL f[N];
int x, y;
int main ()
{
	cin >> n >> m;
	// 构建差分数组 
	cin >> x; // 起始城市
	for (int i = 2; i <= m; i++)
	{
		cin >> y;
		if (x > y) 
		{
			f[x]--;
			f[y]++;
		}
		else
		{
			f[x]++;
			f[y]--;
		}
		x = y;
	 } 
	 //  前缀和还原原始数组表示各段城市间链路经过的次数
	 for (int i = 1; i <= n; i++) f[i] += f[i-1];
	 LL ret = 0;
	 for (int i = 1; i < n; i++)
	 {
	 	int a, b, c; cin >> a >> b >> c;
	 	ret += min(f[i] * a, c + b * f[i]);
	  } 
	cout << ret;
	return 0;
}
相关推荐
千寻girling6 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法
颜酱9 小时前
一步步实现字符串计算器:从「转整数」到「带括号与优化」
javascript·后端·算法
不想写代码的星星10 小时前
std::function 详解:用法、原理与现代 C++ 最佳实践
c++
齐生11 天前
iOS 知识点 - 渲染机制、动画、卡顿小集合
笔记
CoovallyAIHub1 天前
语音AI Agent编排框架!Pipecat斩获10K+ Star,60+集成开箱即用,亚秒级对话延迟接近真人反应速度!
深度学习·算法·计算机视觉
木心月转码ing1 天前
Hot100-Day14-T33搜索旋转排序数组
算法
会员源码网1 天前
内存泄漏(如未关闭流、缓存无限增长)
算法
用户962377954481 天前
VulnHub DC-1 靶机渗透测试笔记
笔记·测试
颜酱1 天前
从0到1实现LFU缓存:思路拆解+代码落地
javascript·后端·算法
颜酱1 天前
从0到1实现LRU缓存:思路拆解+代码落地
javascript·后端·算法