WikiOI 1139 观光公交 (NOIP2011) 贪心

蓝桥杯刷题019——观光公交(贪心) 没有白走的路,每一步都算数! 阅读详情

题目描述 Description
风景迷人的小城 Y 市,拥有n 个美丽的景点。由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第0 分钟出现在1号景点,随后依次前往2、3、4……n 号景点。从第i 号景点开到第i+1 号景点需要Di 分钟。任意时刻,公交车只能往前开,或在景点处等待。
设共有 m 个游客,每位游客需要乘车1 次从一个景点到达另一个景点,第i 位游客在Ti 分钟来到景点Ai,希望乘车前往景点Bi(Bi>Ai)。为了使所有乘客都能顺利到达目的地,公交车在每站都必须等待需要从该景点出发的所有乘客都上车后才能出发开往下一景点。
假设乘客上下车不需要时间。
一个乘客的旅行时间,等于他到达目的地的时刻减去他来到出发地的时刻。因为只有一辆观光车,有时候还要停下来等其他乘客,乘客们纷纷抱怨旅行时间太长了。于是聪明的司机ZZ 给公交车安装了k 个氮气加速器,每使用一个加速器,可以使其中一个Di 减1。对于同一个Di 可以重复使用加速器,但是必须保证使用后Di 大于等于0。

那么 ZZ 该如何安排使用加速器,才能使所有乘客的旅行时间总和最小?

输入描述 Input Description
第 1 行是3 个整数n, m, k,每两个整数之间用一个空格隔开。分别表示景点数、乘客数和氮气加速器个数。
第 2 行是n-1 个整数,每两个整数之间用一个空格隔开,第i 个数表示从第i 个景点开往第i+1 个景点所需要的时间,即Di。
第 3 行至m+2 行每行3 个整数Ti, Ai, Bi,每两个整数之间用一个空格隔开。第i+2 行表示第i 位乘客来到出发景点的时刻,出发的景点编号和到达的景点编号。

输出描述 Output Description
共一行,包含一个整数,表示最小的总旅行时间。

样例输入 Sample Input
3 3 2
1 4
0 1 3
1 1 2
5 2 3

样例输出 Sample Output
10

数据范围及提示 Data Size & Hint
对 D2 使用2 个加速器,从2 号景点到3 号景点时间变为2 分钟。
公交车在第 1 分钟从1 号景点出发,第2 分钟到达2 号景点,第5 分钟从2 号景点出发,第7 分钟到达3 号景点。
第 1 个旅客旅行时间 7-0 = 7 分钟。
第 2 个旅客旅行时间 2-1 = 1 分钟。
第 3 个旅客旅行时间 7-5 = 2 分钟。
总时间 7+1+2 = 10 分钟。

数据范围
对于 10%的数据,k=0;
对于 20%的数据,k=1;
对于 40%的数据,2 ≤ n ≤ 50,1 ≤ m≤ 1,000,0 ≤ k ≤ 20,0 ≤ Di ≤ 10,0 ≤ Ti ≤ 500;
对于 60%的数据,1 ≤ n ≤ 100,1 ≤ m≤ 1,000,0 ≤ k ≤ 100,0 ≤ Di ≤ 100,0 ≤ Ti ≤ 10,000;
对于 100%的数据,1 ≤ n ≤ 1,000,1 ≤ m ≤ 10,000,0 ≤ k ≤ 100,000,0 ≤ Di ≤ 100,0 ≤ Ti ≤ 100,000。

program mys;
var i,j,m,n,k,l,ans,max1,xx,tt:longint;
st,start,c,s,d:array[0..1000] of longint;
a,b,t:array[0..1000000] of longint;
function max(a,b:longint):longint;
begin 
if a>b then exit(a)
else exit(b);
end;

begin 
readln(n,m,k);
for i:=1 to n-1 do
read(d[i]);
readln;
for i:=1 to m do 
begin 
readln(t[i],a[i],b[i]);
if start[a[i]]<t[i] then start[a[i]]:=t[i];
inc(c[b[i]]);
end;
for xx:=1 to k do 
begin 
fillchar(st,sizeof(st),0);
fillchar(s,sizeof(s),0);
for i:=1 to n-1 do 
st[i+1]:=max(st[i],start[i])+d[i];
i:=1;
max1:=0;
while i<=n-1 do 
begin 
if d[i]>0 then 
begin 
j:=i;
s[j]:=c[i+1];
while st[i+1]>start[i+1] do 
begin 
inc(i);
s[j]:=s[j]+c[i+1];
end;
if s[j]>max1 then 
begin 
tt:=j; 
max1:=s[j];
end;
end;
inc(i);
end;
if max1=0 then break;
if d[tt]>0 then dec(d[tt]);
end;
ans:=0;
for i:=1 to n-1 do 
st[i+1]:=max(st[i],start[i])+d[i];
for i:=1 to m do 
ans:=ans+st[b[i]]-t[i];
writeln(ans);
end.
步进电机梯形加减速算法的实现 阅读详情

相关推荐

Python+OpenCV实战:雨天车牌识别准确率提升300%的5个关键技巧

本文针对雨天车牌识别准确率骤降的难题,分享了五个基于Python和OpenCV的实战技巧。通过暗通道先验去雾、雨纹抑制、光照不变量颜色空间转换、多尺度自适应阈值分割以及融合传统特征与轻量级深度学习的混合识别策略,系统性地提升了算法在恶劣天气下的鲁棒性。这些方法能有效解决图像模糊、对比度低、字符断裂粘连等问题,为智能交通等实际应用提供可靠解决方案。

k8l9m0n的博客 715

观光公交解题思路

若在i站使用加速器,观光车到达i+1站的时间会变短,使在i+1站下车的乘客的花费时间变短,但是观光车到达i+1站之后仍然要等待这位最晚到达的乘客上车之后才能出发,所以这个加速器的最大有效范围只到i+1站。若在i站使用加速器,观光车到达i+1站的时间会变短,使在i+1站下车的乘客的花费时间变短,但是观光车到达i+1站之后仍然要等待这位最晚到达的乘客上车之后才能出发,所以这个加速器的最大有效范围只到i+1站。发现,在i加速,假设影响范围边界在j(i小于j)那么,在i+1~j下车的乘客,都可以获得加速。

weixin_57084558的博客 213

台达B3伺服电机485通讯的调试过程

最近上了一项目,没办法直接把B3伺服接到PLC上去,怎么办?偶说试下直接电脑通过100多米的485线控制好了,定型前的测试就这样展开了。 1、焊CN1口 如果不安装CN1,是开不了机的,要报很多错误,比如SERV EMG ALERT, 上限报警,下限报警什么的,怎么办?直接焊好CN1头子吧,烦了点,但是必要的。 主要接的是11,9,10,32,31,30几个脚,按照图上连接好就是了。 2、 接线路 按照上面的图,接上伺服电机线,编码器线,电源线,包括限位常闭开关、485连线等,就完..

shidong01的博客 1万+

【贪心】NOIP2011观光公交详解

【题目描述】 风景迷人的小城Y市,拥有n个美丽的景点。由于慕名而来的游客越来越多,Y市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第0分钟出现在1号景点,随后依次前往2、3、4……n号景点。从第i号景点开到第i+1号景点需要Di分钟。任意时刻,公交车只能往前开,或在景点处等待。设共有m个游客,每位游客需要乘车1次从一个景点到达另一个景点,第i位游客在Ti分钟来到景点Ai,希望

旋转木马 3157

Oracle 11g RAC 节点通信故障排查与修复指南

本文详细介绍了Oracle 11g RAC集群发生节点通信故障时的系统性排查与修复方法。当出现节点异常重启时,核心问题往往源于心跳网络中断。文章提供了从快速诊断、日志分析到六层深度检查的完整指南,并给出了针对网络配置、内核参数及Oracle已知Bug等常见根因的实战解决方案,帮助DBA快速恢复集群稳定。

weixin_29246195的博客 270

暗月项目七详解

本文围绕“暗月靶场项目七”展开,记录了一次从外网 Web 入口逐步深入内网并最终获取域控目标的完整实训过程。

Re_K123的博客 416

【NOIP2011 day2】观光公交

3.观光公交(bus.cpp/c/pas) 【问题描述】 风景迷人的小城 Y 市,拥有 n 个美丽的景点。由于慕名而来的游客越来越多,Y 市特 意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第 0 分钟出现在 1 号景点,随后依次前往 2、3、4……n 号景点。从第 i 号景点开到第 i+1 号景点需要 Di 分钟。 任意时刻,公交车只能往前开,或在景点处等待。 设共有

SunIsMe的博客 1615

Qwen3-Embedding选型指南:0.6B/4B/8B三版本性能对比与场景匹配建议

本文深入解析阿里开源的Qwen3-Embedding系列模型(0.6B/4B/8B)的性能差异与适用场景,提供从边缘计算到云端部署的实战选型建议。通过实测数据对比响应延迟、内存占用和多语言精度等核心指标,帮助技术团队根据业务需求选择最优模型版本,并分享边缘设备优化与云端成本测算策略。

qsc901234567的博客 892

Ubuntu 16.04 LVM实战指南:从PV/VG/LV到快照与可移动存储管理

LVM(逻辑卷管理)是Linux系统中实现存储弹性与运维韧性的核心机制,其本质是通过物理卷(PV)、卷组(VG)、逻辑卷(LV)三层映射,将底层物理存储设备抽象为可动态调整、跨设备聚合、支持原子快照的虚拟块设备。该技术显著提升磁盘空间利用率、简化扩容备份流程,并为虚拟化(如PVE)、桌面备份(TimeShift)及removable storage devices(USB移动硬盘等)提供统一管理能力。在Ubuntu 16.04这一长期支持版本中,LVM内核模块(device-mapper)、工具链(lvm2

weixin_30470643的博客 528

Debian 12 安装nodejs(包括node、npm、npx、yarn、pnpm、cnpm、bun)

【代码】Debian 12 安装nodejs。

mirana的专栏 8004

Python爬虫实战:模拟登录知乎 – 通过加密参数和验证码实现自动登录

通过本篇博客的讲解,我们学习了如何通过 POST请求 和 验证码识别,模拟登录知乎并爬取用户信息、问题数据。随着爬虫技术的发展,面对更复杂的反爬虫机制,我们可以不断调整策略,以绕过这些防护,实现数据的自动化抓取。

2201_76125261的博客 731

NOIP2011 观光公交 题解(超详细)

描述 风景迷人的小城Y市,拥有n个美丽的景点。由于慕名而来的游客越来越多,Y市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第0分钟出现在1号景点,随后依次前往2、3、4……n号景点。从第i号景点开到第i+1号景点需要Di分钟。任意时刻,公交车只能往前开,或在景点处等待。 设共有m个游客,每位游客需要乘车1次从一个景点到达另一个景点,第i位游客在Ti分钟来到景点Ai,希

persist 3802

Rockchip开发系列 - 3.4.GPIO扩展芯片AW95xx和PCA953X(2)

Rockchip开发系列 - 3.3.GPIO扩展芯片AW95xx和PCA953X(2)

fulinux的博客 999

观光公交

题目描述 风景迷人的小城Y 市,拥有n 个美丽的景点。由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第 0 分钟出现在 1号景点,随后依次前往 2、3 、4 ……n 号景点。从第 i 号景点开到第 i+1 号景点需要 Di 分钟。任意时刻,公交车只能往前开,或在景点处等待。 设共有m 个游客,每位游客需要乘车1 次从一个景点到达...

weixin_30814223的博客 191

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

贪心观光公交

描述  风景迷人的小城 Y 市,拥有 n 个美丽的景点。由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第 0 分钟出现在 1 号景点,随后依次前往 2、3、4……n号景点。从第 i 号景点开到第 i+1 号景点需要 Di分钟。任意时刻,公交车只能往前开,或在景点处等待。   设共有 m 个游客,每位游客需要乘车 1 次从一个景点到达另一个景点,...

小马的博客 746

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

观光公交(codevs 1139)题解

【问题描述】 风景迷人的小城 Y 市,拥有n 个美丽的景点。由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第0 分钟出现在1号景点,随后依次前往2、3、4……n 号景点。从第i 号景点开到第i+1 号景点需要Di 分钟。任意时刻,公交车只能往前开,或在景点处等待。 设共有 m 个游客,每位游客需要乘车1 次从一个景点到...

303

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

vijos P1741 观光公交

描述 风景迷人的小城Y市,拥有n个美丽的景点。由于慕名而来的游客越来越多,Y市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第0分钟出现在1号景点,随后依次前往2、3、4……n号景点。从第i号景点开到第i+1号景点需要Di分钟。任意时刻,公交车只能往前开,或在景点处等待。 设共有m个游客,每位游客需要乘车1次从一个景点到达另一个景点,第i位游客在Ti分钟来到景点Ai,希

jjs98 1267

NOIP2011 观光公交 解题报告(贪心(贪心一次更新一次))

在线评测: http://codevs.cn/problem/1139/ 整体思路: 我们先记录一下每个站点的最晚到达的乘客的到达时间,然后我们也可以记录每个站点到下一个站点的路程上车上的人数,并将其维护成一个前缀和,同时我们初始化出到达每个景点的时间, for (int i = 2;i <= n;i++) { dd[i] = max(zw[i -

Gqe 1104

3029. 【NOIP2011DAY2】观光公交

...题目:分析:代码: 题目: 传送门 分析: 队里有大佬用最小费用流做,但我这个蒟蒻连网络流都没听,所以果断弃坑 后来在某谷上发现巧妙的贪心,所以就会做了: 根据题目,我们显然可以得到要使答案最优,我们就要使每个加速器尽量影响更多的游客 根据这点我们就可以通过kkk次贪心求解 代码: #include&lt;iostream&gt; #include&lt;cstdio&gt; #inc...

qq_35786326的博客 240

最优乘车(信息学奥赛一本通-T1377)

【题目描述】 H城是一个旅游胜地,每年都有成千上万的人前来观光。为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴士线路。每条单程巴士线路从某个巴士站出发,依次途经若干个巴士站,最终到达终点巴士站。 一名旅客最近到H城旅游,他很想去S公园游玩,但如果从他所在的饭店没有一路巴士可以直接到达S公园,则他可能要先乘某一路巴士坐几站,再下来换乘同一站台的另一路巴士, ...

Alex_McAvoy的博客 3980

NOIP2011 观光公交

题目描述 风景迷人的小城 Y 市,拥有 n 个美丽的景点。由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第 0 分钟出现在 1 号景点,随后依次前往 2、3、4……n号景点。从第 i 号景点开到第 i+1 号景点需要 Di分钟。任意时刻,公交车只能往前开,或在景点处等待。设共有 m 个游客,每位游客需要乘车 1 次从一个景点到达另一个景...

weixin_33949359的博客 194

NOIP——贪心

题目链接 //贪心 //题意:n堆纸牌,每次可向相邻两堆那或放,求使各堆牌数相等的方案数 #include&amp;amp;amp;lt;iostream&amp;amp;amp;gt; #include&amp;amp;amp;lt;algorithm&amp;amp;amp;gt; #include&amp;amp;amp;lt;cstdio&amp;amp;amp;gt; #include&amp;amp;amp;lt;

Nan_Liu的博客 375

洛谷 P5767 最优乘车 题解

最优乘车 问题描述 H城是一个旅游胜地,每年都有成千上万的人前来观光。为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴上线路。每条单程巴士线路从某个巴士站出发,依次途经若干个巴士站,最终到达终点巴士站。   一名旅客最近到H城旅游,他很想去S公园游玩,但如果从他所在的饭店没有一路已士可以直接到达S公园,则他可能要先乘某一路巴士坐几站,再下来换乘同一站台的另一路巴士...

Y的博客 1393

NOIP2011(提高组)DAY2---观光公交(vijosP1741)

描述 风景迷人的小城Y市,拥有n个美丽的景点。由于慕名而来的游客越来越多,Y市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第0分钟出现在1号景点,随后依次前往2、3、4……n号景点。从第i号景点开到第i+1号景点需要Di分钟。任意时刻,公交车只能往前开,或在景点处等待。 设共有m个游客,每位游客需要乘车1次从一个景点到达另一个景点,第i位游客在Ti分钟来到景点Ai...

weixin_30593261的博客 157
上一篇: 欢迎使用优快云-markdown编辑器
下一篇: WikiOI 1217 借教室 (NOIP2012)二分写法
CodeOnce
博客等级 码龄10年 3粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值