这道题很多人都用的模拟(或者暴力),今天我就写一个“标准”的贪心发给大家。(我这段代码差点超时···也差点超内存···)

主要思路:通过贪心求得最小值即可,把加速器用到乘客最多的两个站(或者,如果有许多段路程乘客数都是最多,直接任选K段使用加速器)

代码贴上,大神勿喷

#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
int n,m,k,d[100005],car[100005],g[100005],t[100005],sum[100005],tim[100005],st[100005],ed[100005];
int ans,maxnn,fast;
scanf("%d%d%d",&n,&m,&k);
for(int i=1;i<=n-1;i++)
{
scanf("%d",&d[i]);
}
for(int i=1;i<=m;i++)
{
scanf("%d%d%d",&tim[i],&st[i],&ed[i]);
t[st[i]]=max(t[st[i]],tim[i]);
sum[ed[i]]++;
}
for(int i=2;i<=n;i++)
{
sum[i]=sum[i]+sum[i-1];
}
car[1]=t[1];
for(int i=2;i<=n;i++)
{
car[i]=max(car[i-1],t[i-1]);
car[i]=car[i]+d[i-1];
}
for(int i=1;i<=m;i++)
{
ans=ans+car[ed[i]]-tim[i];
}
while(k--)
{
g[n]=g[n-1]=n;
maxnn=0;
for(int i=n-2;i>=1;i--)
{
if(car[i+1]<=t[i+1])
{
g[i]=i+1;
}
else
{
g[i]=g[i+1];
}
}
for(int i=1;i<n;i++)
{
if(sum[g[i]]-sum[i]>maxnn && d[i]!=0)
{
maxnn=sum[g[i]]-sum[i];
fast=i;
}
}
ans=ans-maxnn;
d[fast]--;
for(int i=2;i<=n;i++)
{
car[i]=max(car[i-1],t[i-1]);
car[i]=car[i]+d[i-1];
}
}
printf("%d\n",ans);
return 0;
}

第一次写博客,有点紧张,大家谅解一下,谢谢!

洛谷题解 P1315 【观光公交】的更多相关文章

  1. 洛谷 题解 UVA572 【油田 Oil Deposits】

    这是我在洛谷上的第一篇题解!!!!!!!! 这个其实很简单的 我是一只卡在了结束条件这里所以一直听取WA声一片,详细解释代码里见 #include<iostream> #include&l ...

  2. [luogu]P1315 观光公交[贪心]

    [luogu]P1315 [NOIP2011]观光公交 ——!x^n+y^n=z^n 题目描述 风景迷人的小城Y 市,拥有n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车, ...

  3. POJ3621或洛谷2868 [USACO07DEC]观光奶牛Sightseeing Cows

    一道\(0/1\)分数规划+负环 POJ原题链接 洛谷原题链接 显然是\(0/1\)分数规划问题. 二分答案,设二分值为\(mid\). 然后对二分进行判断,我们建立新图,没有点权,设当前有向边为\( ...

  4. 洛谷 题解 P1600 【天天爱跑步】 (NOIP2016)

    必须得说,这是一道难题(尤其对于我这样普及组205分的蒟蒻) 提交结果(NOIP2016 天天爱跑步): OJ名 编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间 Libre ...

  5. 洛谷题解P4314CPU监控--线段树

    题目链接 https://www.luogu.org/problemnew/show/P4314 https://www.lydsy.com/JudgeOnline/problem.php?id=30 ...

  6. [NOIP2011] 提高组 洛谷P1315 观光公交

    题目描述 风景迷人的小城Y 市,拥有n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第 0 分钟出现在 1号景点,随后依次前往 2 ...

  7. 洛谷P1315 观光公交

    SB贪心......暴露了我代码能力巨弱的本质. 题面 解:首先我们应该想到DP(但是我想到了贪心......) 然后分析题目本质,每个点有个限制,最早开走时间不得早于最晚上车时间. 然后我们就可以把 ...

  8. 洛谷 P1315 观光公交 —— 贪心

    题目:https://www.luogu.org/problemnew/show/P1315 问题是想不明白改动一条边会对后面造成怎样的影响: 实际上影响的会是一段,当某个车站出发时间受其来人牵制时, ...

  9. NOIP2011 洛谷P1315 观光公交

    题目传送门 先解释一下数组的意义: d[i]表示公交车从第i个点到第i+1个点需要的时间 pas结构体中:t表示这个乘客到公交站牌的时间,u表示起点,v表示终点 wait[i]表示公交车在第i个站点等 ...

随机推荐

  1. SpringBoot+mybatis:报错Fri Oct 19 14:29:24 CST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requiremen

    报错:Fri Oct 19 14:29:24 CST 2018 WARN: Establishing SSL connection without server's identity verifica ...

  2. python 数据分析基础

    安装Python基础的几个数据分析库: pip install pandas pip install numpy pip install scipy pip install scikit-surpri ...

  3. win10释放的wifi热点手机连不上

    直入正题吧…… 在win10的搜索框里输入ser,找到“windows服务”选项,点击进入,如下图 找到下图所示的两个服务,然后,右键,属性,启动类型改为自动,然后点确定,确定完以后,再右键,点启动, ...

  4. angular学习笔记(2)

    1.angular可观察对象 2.angular绑定方式 3.angular模板 4.angular生命周期 5.angular组件通信

  5. 微信小程序页面跳转导航wx.navigateTo和wx.redirectTo

    }) wx.redirectTo(OBJECT) 关闭当前页面,跳转到应用内的某个页面. 还是用上面的三张图示作为例子,当使用wx.redirctTo接口跳转页面时,原来的页面将被删除掉,当然,这是小 ...

  6. raid10模型比raid01模型的冗余度高

    RAID10和RAID01的冗余度看起来差不多,但本质上有一定的区别. RAID10:左边损坏1块盘,右边还可以容忍一块盘损坏而不影响整体的数据;冗余度=2 RAID01:左边损坏1块盘,此时左边已经 ...

  7. net.js

    var http = require('http'); var https = require('https'); var url=require("url"); var pass ...

  8. AngelToken钱包——值得投资与存币的钱包

    Angeltoken有多好? Angeltoken到底值不值得我们投资? 简而言之 Angeltoken结合了:钱包+机器人,钱包+币币交易,钱包+宠物,钱包+结算代币等等. 它颠覆传统的运营和赚钱模 ...

  9. Java实现post和get请求

    GET请求:GET请求会向服务器发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改.增加数据,不会影响资源的内容,即该请求不会产生副作用.无论进行 ...

  10. 虚拟机如何固定ip并访问外网?!

    Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNor ...