欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 蓝桥杯每日一题----海底高铁

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

2025/7/6 7:59:34 来源:https://blog.csdn.net/in_seattle/article/details/146429401  浏览:    关键词:蓝桥杯每日一题----海底高铁

🌈个人主页:羽晨同学

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

题目链接

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

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词