[洛谷P3697]开心派对小火车
题目:洛谷P3697
题目大意是有各站停列车(慢车,相邻2站时间A)和特急列车(相邻2站时间B),特急列车在特定站点停靠。
现在加一种快速列车(相邻2站时间C,A>C>B),停靠K站(包括所有特急列车停靠的站点),要求你设计快速列车的停靠站点,好让1号站点的人T分钟能到达的站点数尽可能多。(相邻指编号相邻的两站,如2号站和3号站)
具体见原题目。
我们设特急列车本次停靠点A,和下次停靠点B,再设从A坐慢车最远到达C,可知A到C之间不需要设任何快速站点。
那么就需要在C的后一个站D设快速站点。
#include<cstdio>
#include<algorithm>
#include<cctype>
#include <ext/pb_ds/priority_queue.hpp>
using namespace __gnu_pbds;
using std::min;
#define C c=getchar()
#define LL long long
struct heap{
LL i,succ,rest,v;
short f;
bool operator <(const heap& rhs)const{
if(f!=rhs.f)return f<rhs.f;
return(v<rhs.v);
}
}now;
LL a,b,c,n,m,k,t,s[3005],ans=0;
LL readLL(){
char C;
while(!isdigit(c))C;
LL p=0;
while(isdigit(c)){
p=p*10+c-'0';
C;
}
return p;
}
priority_queue<heap>d;
int main(){
n=readLL(),m=readLL(),k=readLL(),a=readLL(),b=readLL(),c=readLL(),t=readLL();
for(int i=1;i<=m;i++)s[i]=readLL();
for(int i=1;i<m;i++)
if(t>b*(s[i]-1))d.push((heap){s[i],s[i+1],t-(s[i]-1)*b,min(s[i+1]-s[i],(t-(s[i]-1)*b-1)/a+1),1});else break;
if(t>b*(n-1))ans++;//最后一个站一定为特急列车站,如果能到则答案直接加1。
k-=m;
while(!d.empty()&&k){
now=d.top();
d.pop();
if(!now.f)k--;
ans+=now.v;
if(now.v&&now.rest>now.v*c)d.push((heap){now.i+now.v,now.succ,now.rest-c*now.v,min(now.succ-now.i-now.v,(now.rest-now.v*c-1)/a+1),0});
}
printf("%lld\n",ans-1);//第一个站为起点,不加入计算。
return 0;
}
此题K<=3000,不用堆应该也能解决
[洛谷P3697]开心派对小火车的更多相关文章
- [洛谷201704R1]开心派对小火车
OJ题号:洛谷P3697 思路: 贪心.首先从起点出发,开特急电车,对于每一个特急车站$s_{i}$,分别下一次车,计算从当前车站$s_{i}$出发坐各停电车在指定时限内$t$最远能够到达的车站$r_ ...
- 洛谷 P3951 NOIP 2017 小凯的疑惑
洛谷 P3951 NOIP 2017 小凯的疑惑 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付 ...
- 【洛谷2304_LOJ2134】[NOI2015]小园丁与老司机(动态规划_网络流)
题目: 洛谷 2304 LOJ 2134 (LOJ 上每个测试点有部分分) 写了快一天 -- 好菜啊 分析: 毒瘤二合一题 -- 注意本题(及本文)使用 \(x\) 向右,\(y\) 向上的「数学坐标 ...
- 洛谷 P2709 BZOJ 3781 小B的询问
题目描述 小B有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求$\sum_1^Kc_i^2$的值,其中$c_i$表示数字i在[L..R]中的重复次数.小B请 ...
- 不失一般性和快捷性地判定决策单调(洛谷P1912 [NOI2009]诗人小G)(动态规划,决策单调性,单调队列)
洛谷题目传送门 闲话 看完洛谷larryzhong巨佬的题解,蒟蒻一脸懵逼 如果哪年NOI(放心我这样的蒟蒻是去不了的)又来个决策单调性优化DP,那蒟蒻是不是会看都看不出来直接爆\(0\)?! 还是要 ...
- 【洛谷P4251】[SCOI2015]小凸玩矩阵(二分+二分图匹配)
洛谷 题意: 给出一个\(n*m\)的矩阵\(A\).现要从中选出\(n\)个数,任意两个数不能在同一行或者同一列. 现在问选出的\(n\)个数中第\(k\)大的数的最小值是多少. 思路: 显然二分一 ...
- 洛谷U5653 宋荣子的小饼干
题目描述 楼下机房的LYL有n个妹子,分别编号为a1,a2……an,每个妹子都拥有一定数量的小饼干.有一天,saruka没有吃晚饭,饿的不要不要的,这时,他忽然想起了LYL的妹子们有小饼干可以吃.于是 ...
- 洛谷 P1060 开心的金明
开心的金明 Problem Description: 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些 ...
- 洛谷银牛派对SPFA
题目描述 One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to attend the b ...
随机推荐
- Problem 4
Problem 4 # Problem_4 """ A palindromic number reads the same both ways. The largest ...
- String类常见的方法
类String public final class String extends Object implements Serializable, comparable<String>, ...
- ElasticSearch 深度分页解决方案
常见深度分页方式 from+size 另一种分页方式 scroll scroll + scan search_after 的方式 es 库 scroll search 的实现 常见深度分页方式 fro ...
- iis配置问题报错 -- Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies
具体提示: Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. 试图加载格式不正确的程序. ...
- spring boot的几种配置类型
1.spring boot的几种配置类型 1)基本配置,spring自动读取的,全都在application.yml里配置,spring会自动读取这个配置文件 2)个性化配置:比如配置intercep ...
- php常量,提前定义常量,魔术常量及基本数据类型
常量 定义: 形式一 // define("PI",常量值); define("PI",3.14); define("school",&qu ...
- poj1699--Best Sequence(dfs+剪枝)
题目链接:点击打开链接 题目大意:给出n个字符串.要求组合后的串最短 #include <cstdio> #include <cstring> #include <alg ...
- AS常见的错误
导入的项目使用的gradle版本和本地的要一致,不然会提示类似"Minimum supported Gradle version is 3.3. Current version is 2.1 ...
- HDU 2054 A==B? 大数
Problem Description Give you two numbers A and B, if A is equal to B, you should print "YES&quo ...
- 杂项:CMM
ylbtech-杂项:CMM CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM.它是对于软件组 ...