博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[NOIP2011] 观光公交
阅读量:6127 次
发布时间:2019-06-21

本文共 954 字,大约阅读时间需要 3 分钟。

题意:

题解:

贪心

f[i]表示在i号点使用加速器,能使后面多少个点受益

sum[i]表示在i站及i站以前有多少人下车

找出在哪个站使用加速器最多能使多少人受益

贪心k次即可

#include
#include
#include
#include
#include
#include
#define ll long long#define N 10100using namespace std;int f[N],sum[N],last[N],a[N],b[N],t[N],d[N],ar[N];int gi() { int x=0,o=1; char ch=getchar(); while(ch!='-' && (ch<'0' || ch>'9')) ch=getchar(); if(ch=='-') o=-1,ch=getchar(); while(ch>='0' && ch<='9') x=x*10+ch-'0',ch=getchar(); return o*x;}int main() { int n=gi(),m=gi(),k=gi(); ll ans=0; for(int i=1; i
=1; i--) { if(ar[i+1]>last[i+1]) f[i]=f[i+1]+1;//严格收益 else f[i]=1;//可能在i+1站下车 } int x,y=0; for(int i=1; i
y) { y=sum[i+f[i]]-sum[i]; x=i; } } d[x]--; } for(int i=2; i<=n; i++) { ar[i]=max(ar[i-1],last[i-1])+d[i-1]; } for(int i=1; i<=m; i++) { ans+=ar[b[i]]-t[i]; } printf("%lld\n", ans); return 0;}

转载于:https://www.cnblogs.com/HLXZZ/p/7660487.html

你可能感兴趣的文章
分布式事务,EventBus 解决方案:CAP【中文文档】
查看>>
Linux下的CPU性能瓶颈分析案例
查看>>
spring mvc入门
查看>>
2012在数据库技术会议上的讲话PPT打包
查看>>
【Android】 TextView设置个别字体样式
查看>>
python svn
查看>>
raise语句
查看>>
sequence2(高精度dp)
查看>>
ABP实战--集成Ladp/AD认证
查看>>
存储过程
查看>>
phpcms v9栏目列表调用每一篇文章内容方法
查看>>
python 自定义信号处理器
查看>>
luov之SMTP报错详解
查看>>
软件概要设计做什么,怎么做
查看>>
dwr
查看>>
java的特殊符号
查看>>
word2010中去掉红色波浪线的方法
查看>>
fabric上下文管理器(context mangers)
查看>>
JQuery-EasyUI Datagrid数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)
查看>>
并发和并行的区别
查看>>