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

蓝桥杯每日一题----海底高铁

🌈个人主页:羽晨同学

💫个人格言:“成为自己未来的主人~” 

题目链接

 P3406 海底高铁 - 洛谷https://www.luogu.com.cn/problem/P3406

解题思路

 在这道题来说,主要使用的想法就是使用一维的差分数组,这道题中有两个买票的策略。

一种是,直接买票,另外一种是买IC卡并买带有优惠的票。

其实解题思路蛮简单的,我们只要找到每个城市去的次数,再加上每段路程最小的花费,就是总的最小的花费。

而我们在获取每段路程的次数上,就可以使用差分的方式。

比如说,从1,3,那么可以设为1为L,3为R。K为1,当中的路径每个+1.

完整代码

#include<iostream>
using namespace std;
const int N = 1e6+10;
typedef long long LL;
LL f[N];//差分数组
int main()
{
	int n,m;cin>>n>>m;
	//差分数组初始化
	int x;cin>>x;
	for(int i=2;i<=m;i++)
	{
		//x->y
		int y;cin>>y;
		if(y>x)//y=r
		{
			f[x]++;f[y]--;	
		}
		else
		{
			f[x]--;f[y]++;	
		}
		x=y; 
	} 
	LL ret = 0;
	//改变到原数组 
	for(int i=1;i<=n;i++) f[i]+=f[i-1];
	for(int i=1;i<n;i++)
	{
		int a,b,c;cin>>a>>b>>c;
		ret +=min(a*f[i],c+b*f[i]);
	}
	cout<<ret<<endl;
	return 0;	
} 

 好了,今天的内容就到这里,我们明天再见。 


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

相关文章:

  • 【Linux线程】——线程概念线程接口
  • 工具层handle_excel
  • 鱼书--学习2
  • MySQL 中,分库分表机制和分表分库策略
  • Ubuntu搭建Battery Historian环境
  • (八)Reactor响应式框架之核心特性
  • 5、MySQL为什么使用 B+树 来作索引【高频】
  • 矩阵可相似对角化
  • G-Star 校园开发者计划·黑科大|开源第一课之 Git 入门
  • 强化学习中循环神经网络在序列决策中的应用研究
  • 2025新版懒人精灵零基础安装调试+lua基础+UI设计交互+常用方法封装+项目实战+项目打包安装板块-视频教程(初学者必修课)
  • 基于javaweb的SpringBoot医院管理系统设计与实现(源码+文档+部署讲解)
  • maven在windows系统上的详细安装和配置
  • 无阻塞UI:通过Web Worker提升用户体验的新途径
  • 基于LabVIEW的Windows平台高速闭环控制
  • windows+ragflow+deepseek实战之一excel表查询
  • 第19章:StatefulSet:有状态应用部署最佳实践
  • dify案例分享-儿童故事绘本语音播报视频工作流
  • Lustre 语言的 Rust 生成相关的工作
  • 高考志愿填报管理系统基于Spring Boot SSM