BZOJ1577 [Usaco2009 Feb]庙会捷运Fair Shuttle
按结束点排序,然后能塞多少塞多少即可
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<cmath>
#include<algorithm>
#include<iomanip>
#include<vector>
#include<map>
#include<set>
#include<bitset>
#include<queue>
#include<stack>
using namespace std;
#define MAXN 50010
#define MAXM 20010
#define INF 1000000000
#define MOD 1000000007
#define eps 1e-8
#define ll long long
struct cw{int s;int t;int v;friend bool operator <(cw x,cw y){return x.t<y.t;}
};
int n,m,c;
cw a[MAXN];
int mx[MAXM<<2],ch[MAXM<<2];
ll ans;
inline void toch(int x,int y){mx[x]+=y;ch[x]+=y;
}
inline void ud(int x){mx[x]=max(mx[x<<1],mx[x<<1|1]);
}
inline void pd(int x){if(ch[x]){toch(x<<1,ch[x]);toch(x<<1|1,ch[x]);ch[x]=0;}
}
int ask(int x,int y,int z,int l,int r){if(y==l&&z==r){return mx[x];}pd(x);int mid=y+z>>1;if(r<=mid){return ask(x<<1,y,mid,l,r);}else if(l>mid){return ask(x<<1|1,mid+1,z,l,r);}else{return max(ask(x<<1,y,mid,l,mid),ask(x<<1|1,mid+1,z,mid+1,r));}
}
void change(int x,int y,int z,int l,int r,int cv){if(y==l&&z==r){toch(x,cv);return ;}pd(x);int mid=y+z>>1;if(r<=mid){change(x<<1,y,mid,l,r,cv);}else if(l>mid){change(x<<1|1,mid+1,z,l,r,cv);}else{change(x<<1,y,mid,l,mid,cv);change(x<<1|1,mid+1,z,mid+1,r,cv);}ud(x);
}
int main(){int i;scanf("%d%d%d",&n,&m,&c);for(i=1;i<=n;i++){scanf("%d%d%d",&a[i].s,&a[i].t,&a[i].v);a[i].t--;}sort(a+1,a+n+1);for(i=1;i<=n;i++){int t=min(a[i].v,c-ask(1,1,m,a[i].s,a[i].t));ans+=t;change(1,1,m,a[i].s,a[i].t,t);}printf("%lld\n",ans);return 0;
}/*
8 15 3
1 5 2
13 14 1
5 8 3
8 14 2
14 15 1
9 12 1
12 15 2
4 6 1*/
BZOJ1577 [Usaco2009 Feb]庙会捷运Fair Shuttle相关推荐
- bzoj1577 [Usaco2009 Feb]庙会捷运Fair Shuttle
Description 公交车一共经过N(1<=N<=20000)个站点,从站点1一直驶到站点N.K(1<=K<=50000)群奶牛希望搭乘这辆公交车.第i群牛一共有Mi(1& ...
- BZOJ1577: [Usaco2009 Feb]庙会捷运Fair Shuttle
n<=20000个车站,车能同时载C<=100个人,求能满足K<=50000群人的多少个.每群人给起点终点和人数,一群人不一定要都满足. 一开始想DP,想不出,很菜. 贪心即可.如果 ...
- [Usaco2009 Feb]庙会捷运Fair Shuttle
Description 公交车一共经过N(1<=N<=20000)个站点,从站点1一直驶到站点N.K(1<=K<=50000)群奶牛希望搭乘这辆公交车.第i群牛一共有Mi(1& ...
- USACO09FEB庙会捷运Fair Shuttleの思路
一个没有被我成功证明的 贪心 但是 ac了的 别人排序都是排终点.但我的排终点错了emm排起点才对qvq 有没有人友情看看怎么证(没有 #include<cstdio> #include& ...
- [USACO09FEB]庙会班车Fair Shuttle 线段树维护maxx贪心
[USACO09FEB]庙会班车Fair Shuttle 线段树维护maxx&&贪心 题目描述 Although Farmer John has no problems walking ...
- 1578: [Usaco2009 Feb]Stock Market 股票市场
1578: [Usaco2009 Feb]Stock Market 股票市场 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 414 Solved: ...
- bzoj 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛(DP)
3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 353 Solved: 248 ...
- 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛
3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 243 Solved: 167 ...
- P1607 [USACO09FEB]Fair Shuttle G
P1607 [USACO09FEB]Fair Shuttle G 题意 现在又n头牛,分成了k组,每一组有三个值,s.e.m,分别表示,这一组牛从s到e,并且这一组里面有m头牛,现在有一辆车,一次只能 ...
- USACO 2009 FEB Fair Shuttle 庙会班车 贪心
题目 题目描述 Although Farmer John has no problems walking around the fair to collect prizes or see the sh ...
最新文章
- Python进程学习笔记-进程创建fork
- 《朝花夕拾》金句摘抄(六)
- ActiveMQ配置详解之如何配置自动重新连接
- python运用列表编写水仙花数_Python 实现找出所有水仙花数的方法
- 施耐德 m340 编程手册_施耐德PLC漏洞历险记
- [数据结构] 左偏树
- java me教程_Java ME基础教程
- C语言程序设计基础篇
- 计算机网络 IP地址分为那两部分
- 钢琴音源 Native Instruments Definitive Piano Collection
- 线阵相机与面阵相机的区别及其应用
- java 识别图片中的二维码内容识别
- 一道发散思维题,有1000个一模一样的瓶子,其中有999瓶是普通的水,有一瓶是毒........
- 读书——别做正常的傻瓜
- TensorFlow Serving 入门教程(Windows)
- c语言格式字符二进制,C语言printf如何输出二进制数格式?将十进制数转为二进制输出...
- 将ppt转换成html文件格式,如何将幻灯片.pptx格式转换成.ppt格式
- 以太网交换机的用途有哪些?
- MQL4自编指标学习6-MQL4中MACD指标的实现
- 有什么好玩又能学到知识的编程游戏?
热门文章
- envi5.6处理gf3(SAR)详细过程记录
- DMS - 简介 Driver Monitor System
- 计算机网络故障是指啥,网络故障管理
- matlab chan算法定位,求Chan算法解析
- 2020年找工作越来越难,程序员真的过剩了吗?
- Android关键字persistent
- 记一次CAD二次开发 (C#) -导出
- 蓝桥杯 算法训练 寂寞的数(c语言版详细注释)
- discuz php单页,从PHP的模板引擎看Discuz!模板机制
- 哈尔滨工业大学计算机考研难吗,哈尔滨工业大学计算机考研经验:只有意志坚强才能到达彼岸...