题目描述

该铁路经过 N 个城市,每个城市都有一个站。不过,由于各个城市之间不能协调好,于是乘车每经过两个相邻的城市之间(方向不限),必须单独购买这一小段的车票。第 i 段铁路连接了城市 i 和城市 i+1(1≤i<N)。如果搭乘的比较远,需要购买多张车票。第 i 段铁路购买纸质单程票需要 Ai​ 博艾元。

虽然一些事情没有协调好,各段铁路公司也为了方便乘客,推出了 IC 卡。对于第 ii 段铁路,需要花 Ci​ 博艾元的工本费购买一张 IC 卡,然后乘坐这段铁路一次就只要扣Bi​(Bi​<Ai​) 元。IC 卡可以提前购买,有钱就可以从网上买得到,而不需要亲自去对应的城市购买。工本费不能退,也不能购买车票。每张卡都可以充值任意数额。对于第 i 段铁路的 IC 卡,无法乘坐别的铁路的车。

Uim 现在需要出差,要去 M 个城市,从城市 P1​ 出发分别按照P1​,P2​,P3​,⋯,PM​ 的顺序访问各个城市,可能会多次访问一个城市,且相邻访问的城市位置不一定相邻,而且不会是同一个城市。

现在他希望知道,出差结束后,至少会花掉多少的钱,包括购买纸质车票、买卡和充值的总费用。

输入格式

第一行两个整数,N,M。

接下来一行,M 个数字,表示 Pi​。

接下来 N-1 行,表示第 i 段铁路的 Ai​,Bi​,Ci​。

输出格式

一个整数,表示最少花费

这个题目主要的思路就是通过差分来记录每段路程走过的次数,然后一段一段的比较是办卡便宜还是买票便宜。

#include<iostream>
#include<cstdio>
using namespace std;
#define N 10000000
#define ll long long
ll p[N]={0},n,m;
long long sum=0;
void insertt(int l,int r,int x)//差分记录经过的次数
{p[l]+=x;p[r]-=x;
}
int main()
{ios::sync_with_stdio(false);cin>>n>>m;ll x;cin>>x;for(int i=2;i<=m;i++){ll y;cin>>y;insertt(min(x,y),max(x,y),1);x=y;}for(int i=1;i<n;i++){p[i]+=p[i-1];ll a,b,c;cin>>a>>b>>c;sum+=c+b*p[i]<a*p[i]?c+b*p[i]:p[i]*a;//比较是否买ic卡}cout<<sum;return 0;
}

差分应用(海底高铁)相关推荐

  1. P3406 海底高铁(前缀和+差分+坑点)

    P3406 海底高铁https://www.luogu.com.cn/problem/P3406https://www.luogu.com.cn/problem/P3406 分析 本题是一个典型的前缀 ...

  2. 洛谷月赛 P3406 海底高铁

    P3406 海底高铁 题目提供者kkksc03 标签 云端评测 难度 普及/提高- 题目背景 大东亚海底隧道连接着厦门.新北.博艾.那霸.鹿儿岛等城市,横穿东海,耗资1000亿博艾元,历时15年,于公 ...

  3. 洛谷P3406 海底高铁

    题目背景 大东亚海底隧道连接着厦门.新北.博艾.那霸.鹿儿岛等城市,横穿东海,耗资1000亿博艾元,历时15年,于公元2058年建成.凭借该隧道,从厦门可以乘坐火车直达台湾.博艾和日本,全程只需要4个 ...

  4. P3406 海底高铁

    传送门 自己独立做出来的题,还是很开心的. 按照题目的意思,IC卡只用买一个就可以了,而充值和买票得根据次数买. 我们用一个差分数组d[]来表示路程数量.比如说,1号站到2号站,我们当作路程1,这样与 ...

  5. 洛谷P3406 海底高铁题解

    题目 题目地址 如果没有看懂的话,可以再参考一下这个代佬的博客 木南传送门 题目大意: uim坐车出差,每过一个站有两种坐车方式,一种是买票,还有一种是刷卡,刷卡的钱肯定比买票的要便宜,但是办卡要花钱 ...

  6. 洛谷:海底高铁(P3406)C++

    题意 本题题目是比较长的,大概的意思是有n座城市,然后小猿要去m个城市.在每一站,可以办卡一次性买x张车票,也可以一张一张买,不过办卡是需要钱的,问如何购买花的钱最少. 思路 输入n,m:n表示的是总 ...

  7. 马斯克放大招!直逼高铁时速的240km h汽车隧道挖成了!

    全世界范围内地下隧道轨道交通都成为了非常受欢迎的正在探索的新课题. 马斯克又又又又又双双叒叕发推特了! 这次他连发9条推特展示他"挖隧道"成功了. 他在发布的推特文中表示,旗下&q ...

  8. “京台高铁”亮相百度地图,真能在2035年建成吗?

    近日,通过手机百度地图搜索"京台高铁",已可显示京台高铁线路图(建设中).根据该地图显示,京台高铁起点为北京南站,经廊坊.天津.沧州继续向南.在台湾省设高铁新竹站,终点为高铁台北站 ...

  9. 如何快速坐地铁高铁?舒工为您带来满满的都是干货~

    为了比其他人多节省点时间留在做更有意义的事情上面,在人类还未发明普及瞬间控制身体移动的技术之前,以下内容是珍惜生命时间的您必读内容,请耐心阅读: 1.进出站尽量走人工楼梯,不要坐履带式电梯,如遇到升降 ...

最新文章

  1. 洛谷——1115 最大子段和(区间DP)
  2. linux内核挂载nfs,Linux 挂载NFS文件系统
  3. 前端学习(3223):总结props
  4. 前端学习(1669):前端系列实战课程之半透明拖拽思路
  5. c语言函数大全语法下载,C语言函数大全(语法).doc
  6. Windows Internet
  7. 高等组合学笔记(十四):Lagrange反演公式
  8. Vue_eslint编码规范检查---vue工作笔记0021
  9. PCL使用类成员函数作为pclvisualizer的回调函数
  10. Hybrid APP介绍
  11. 查看WLC的SFP模块信息
  12. HDP 03.FreeIPA安装
  13. Linux mail 命令(smtp.163.com)
  14. 齐市青云小学三年级学计算机吗,齐齐哈尔市青云小学介绍
  15. 关于mysql的mysqlAccess denied for user'root'@'IP地址'
  16. 智能体温计APP方案开发
  17. 微信小程序多音频场景处理 - 背景音频
  18. 计算机不接受跨专业考研,2016跨专业考研需谨慎的专业解读:计算机
  19. ElasticSearch java API - 聚合查询-聚合多字段聚合demo
  20. C/C++音频算法: noise suppression算法及技术资料汇总

热门文章

  1. cnas软件性能测试实验室,CNAS-CL01:2018 检测和校准实验室能.力认可准则.pdf
  2. 程序员通过国企面试,HR说保底17薪但不写合同,靠不靠谱?
  3. 尺寸资源(dimen)XML文件的使用
  4. Excel中Vlookup函数近似匹配和精确匹配
  5. 程序员培养一个兴趣爱好有多重要?
  6. 属猪人士的2009年运程
  7. 计算机毕设Python+Vue悠哈出租车管理系统(程序+LW+部署)
  8. 苹果 iOS 内购三步曲:App 内退款、历史订单查询、绑定用户防掉单
  9. python编程教程第九讲_Python入门学习视频,最全面讲解视频无偿分享,这些基础知识你都懂了吗?...
  10. netbeans linux 教程,NetBeans IDE Ruby 快速入门教程