按结束点排序,然后能塞多少塞多少即可

#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相关推荐

  1. bzoj1577 [Usaco2009 Feb]庙会捷运Fair Shuttle

    Description 公交车一共经过N(1<=N<=20000)个站点,从站点1一直驶到站点N.K(1<=K<=50000)群奶牛希望搭乘这辆公交车.第i群牛一共有Mi(1& ...

  2. BZOJ1577: [Usaco2009 Feb]庙会捷运Fair Shuttle

    n<=20000个车站,车能同时载C<=100个人,求能满足K<=50000群人的多少个.每群人给起点终点和人数,一群人不一定要都满足. 一开始想DP,想不出,很菜. 贪心即可.如果 ...

  3. [Usaco2009 Feb]庙会捷运Fair Shuttle

    Description 公交车一共经过N(1<=N<=20000)个站点,从站点1一直驶到站点N.K(1<=K<=50000)群奶牛希望搭乘这辆公交车.第i群牛一共有Mi(1& ...

  4. USACO09FEB庙会捷运Fair Shuttleの思路

    一个没有被我成功证明的 贪心 但是 ac了的 别人排序都是排终点.但我的排终点错了emm排起点才对qvq 有没有人友情看看怎么证(没有 #include<cstdio> #include& ...

  5. [USACO09FEB]庙会班车Fair Shuttle 线段树维护maxx贪心

    [USACO09FEB]庙会班车Fair Shuttle 线段树维护maxx&&贪心 题目描述 Although Farmer John has no problems walking ...

  6. 1578: [Usaco2009 Feb]Stock Market 股票市场

    1578: [Usaco2009 Feb]Stock Market 股票市场 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 414  Solved:  ...

  7. bzoj 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛(DP)

    3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 353  Solved: 248 ...

  8. 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛

    3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 243  Solved: 167 ...

  9. P1607 [USACO09FEB]Fair Shuttle G

    P1607 [USACO09FEB]Fair Shuttle G 题意 现在又n头牛,分成了k组,每一组有三个值,s.e.m,分别表示,这一组牛从s到e,并且这一组里面有m头牛,现在有一辆车,一次只能 ...

  10. USACO 2009 FEB Fair Shuttle 庙会班车 贪心

    题目 题目描述 Although Farmer John has no problems walking around the fair to collect prizes or see the sh ...

最新文章

  1. Python进程学习笔记-进程创建fork
  2. 《朝花夕拾》金句摘抄(六)
  3. ActiveMQ配置详解之如何配置自动重新连接
  4. python运用列表编写水仙花数_Python 实现找出所有水仙花数的方法
  5. 施耐德 m340 编程手册_施耐德PLC漏洞历险记
  6. [数据结构] 左偏树
  7. java me教程_Java ME基础教程
  8. C语言程序设计基础篇
  9. 计算机网络 IP地址分为那两部分
  10. 钢琴音源 Native Instruments Definitive Piano Collection
  11. 线阵相机与面阵相机的区别及其应用
  12. java 识别图片中的二维码内容识别
  13. 一道发散思维题,有1000个一模一样的瓶子,其中有999瓶是普通的水,有一瓶是毒........
  14. 读书——别做正常的傻瓜
  15. TensorFlow Serving 入门教程(Windows)
  16. c语言格式字符二进制,C语言printf如何输出二进制数格式?将十进制数转为二进制输出...
  17. 将ppt转换成html文件格式,如何将幻灯片.pptx格式转换成.ppt格式
  18. 以太网交换机的用途有哪些?
  19. MQL4自编指标学习6-MQL4中MACD指标的实现
  20. 有什么好玩又能学到知识的编程游戏?

热门文章

  1. envi5.6处理gf3(SAR)详细过程记录
  2. DMS - 简介 Driver Monitor System
  3. 计算机网络故障是指啥,网络故障管理
  4. matlab chan算法定位,求Chan算法解析
  5. 2020年找工作越来越难,程序员真的过剩了吗?
  6. Android关键字persistent
  7. 记一次CAD二次开发 (C#) -导出
  8. 蓝桥杯 算法训练 寂寞的数(c语言版详细注释)
  9. discuz php单页,从PHP的模板引擎看Discuz!模板机制
  10. 哈尔滨工业大学计算机考研难吗,哈尔滨工业大学计算机考研经验:只有意志坚强才能到达彼岸...