BZOJ 1577 贪心
思路:同POJ3038 
http://blog.csdn.net/qq_31785871/article/details/52953214
//By SiriusRen
#include <set>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int k,n,c,tot=1,size,ans;
struct Node{int s,e,m;}node[50050],jy;
multiset<Node>s;
multiset<Node>::iterator it;
bool operator < (Node a,Node b){return a.e<b.e;}
bool cmp(Node a,Node b){return a.s<b.s;}
int main(){
    scanf("%d%d%d",&k,&n,&c);
    for(int i=1;i<=k;i++)
        scanf("%d%d%d",&node[i].s,&node[i].e,&node[i].m);
    sort(node+1,node+1+k,cmp);
    for(int i=1;i<=n;i++){
        while(node[tot].s==i)size+=node[tot].m,s.insert(node[tot++]);
        it=s.begin();
        while((*it).e==i){
            ans+=(*it).m;size-=(*it).m;
            s.erase(it);it=s.begin();
        }
        while(size>c){
            it=s.end();it--;
            if(size-(*it).m<=c){
                jy=(*it);
                jy.m=(*it).m-(size-c);
                size=c;
                s.erase(it);
                s.insert(jy);
            }
            else size-=(*it).m,s.erase(it);
        }
    }
    printf("%d\n",ans);
}BZOJ 1577 贪心的更多相关文章
- bzoj 1577: [Usaco2009 Feb]庙会捷运Fair Shuttle——小根堆+大根堆+贪心
		Description 公交车一共经过N(1<=N<=20000)个站点,从站点1一直驶到站点N.K(1<=K<=50000)群奶牛希望搭乘这辆公交车.第i群牛一共有Mi(1& ... 
- bzoj 1577: [Usaco2009 Feb]庙会捷运Fair Shuttle【贪心+线段树】
		按结束时间排序,然后开个线段树,按照排序后的牛群贪心的选 贪心的依据是选哪头牛都是选,不如给后面的多省一点空间 #include<iostream> #include<cstdio& ... 
- BZOJ 1577: [Usaco2009 Feb]庙会捷运Fair Shuttle 线段树 + 贪心
		escription 公交车一共经过N(1<=N<=20000)个站点,从站点1一直驶到站点N.K(1<=K<=50000)群奶牛希望搭乘这辆公交车.第i群牛一共有Mi(1&l ... 
- bzoj 1193 贪心
		如果两点的曼哈顿距离在一定范围内时我们直接暴力搜索就可以得到答案,那么开始贪心的跳,判断两点横纵坐标的差值,差值大的方向条2,小的条1,不断做,直到曼哈顿距离较小时可以暴力求解. 备注:开始想的是确定 ... 
- bzoj 2697 贪心
		就贪心就行了,首先可以看成n个格子,放物品,那么 一个物品假设放3个,放在1,k,n处,那么价值和放在1,n 是一样的,所以一个物品只放两个就行了,价值大的应该尽量放 在两边,那么排序之后模拟就行了 ... 
- bzoj 3037 贪心
		我们可以贪心的分析,每个点的入度如果是0,那么这个点不可能 被用来更新答案,那么我们每次找入度为0的点,将他去掉,如果他连的 点没有被更新过答案,那么更新答案,去掉该点,环的时候最后处理就行了 /** ... 
- bzoj 1193 贪心+bfs
		1193: [HNOI2006]马步距离 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2015 Solved: 914[Submit][Statu ... 
- bzoj 1899  贪心+dp
		思路:这个贪心排顺序我居然没看出来. 吃饭时间长的在前面, 用反证法很容易得出. 剩下的就是瞎dp啦. #include<bits/stdc++.h> #define LL long lo ... 
- 【题解】期末考试 六省联考 2017 洛谷 P3745 BZOJ 4868 贪心 三分
		题目传送门:这里是萌萌哒传送门(>,<) 啊♀,据说这题有个完全贪心的做法,但是要维护太多东西好麻烦的(>,<),于是就来口胡一发三分的做法. 思路很简单,假设我指定了一个x, ... 
随机推荐
- list 分页
			package com.jsz.peini.common.util; import java.util.ArrayList; import java.util.List; public class S ... 
- 在VS2013中配置QT5 win7_64
			转自 在VS2013中配置QT5 win7_64 环境: win x64 + vs2013+QT5+vs_addin 下面示例正确配置QT以及VS2013 + QT Addin开发环境: 下载VS20 ... 
- STL_算法_Heap算法(堆排)(精)
			C++ Primer 学习中. . . 简单记录下我的学习过程 (代码为主) /***************************************** STL-算法--Heap算法 堆排序 ... 
- 去除ListView 上下边界蓝色或黄色阴影
			默认的情况下,在 ListView 滑动到顶部或者是底部的时候,会有黄色或者蓝色的阴影出现.在不同的版本号上解决办法是不同的,在 2.3 版本号之前能够在 ListView 的属性中通过设置 andr ... 
- jmeter名词解释之时间(Elapsed Time/ Latency Time/Connection Time)
			转载时请标注源自:http://blog.csdn.net/musen518 jmeter报告结果中会出现三个时间 1. Elapsed time 经过的时间(= Sample time = L ... 
- Session、Cookie总结
			什么是sessnion,session存在哪,能存多久.怎么设置他的存储时间 一.什么是session 1.session 被翻译为会话.当client(一般都是浏览器作为client)訪问serve ... 
- POJ 2828 线段树 逆序插入
			思路: 1.线段树 逆着插入就OK了 2.块状链表 (可是我并不会写) //By SiriusRen #include <cstdio> #include <cstring> ... 
- java9新特性-16-Deprecated的相关API
			1.官方Feature 211: Elide Deprecation Warnings on Import Statements 214: Remove GC Combinations Depreca ... 
- SSRS 报表 递归列表
			SSRS 报表 递归列表 .需要数据集合中两个必备字段 ID PID 1.添加数据集合,在图上标记的地方点击右键添加数据集合,根据需求自己编写 2.点击插入选项卡 中的 矩阵 有两种方式 一种是 矩 ... 
- python3.x学习笔记2(基础知识)
			1.元组元组其实跟列表差不多,也是存一组数,只是它一旦创建,便不能在修改,所以又叫只读列表语法:names =('shgd','sjdh') 它只有两个方法,一个是count,一个是index 2.字 ... 
