题意:有 n 个工作,他的允许的工作时间是 [l,r] ,工作量是 v ,求CPU最速度的最小值。

分析:

可能太久没有做题了,竟然脑子反应好慢的。还是很容易想到二分,但是二分怎么转移呢?

可以看出,[l,r] 的区间范围不大,可以枚举,cpu 此时的二分答案 x,尽可能的贪心,怎么贪心呢,在同一速度情况下,是最先结束的优先。

而且,这一时刻,他能做很多任务,当 x 很大时,就在这里用优先队列来贪心安排任务。

其实这个题目中的那个图还是有干扰的,因为时时刻刻都要CPU速度为x。

#include <bits/stdc++.h>

using namespace std;

const int maxn = 1e4+;

struct Node {
int l,r,v;
}p[maxn],u; bool operator < (Node a,Node b)
{
return a.r>b.r;
} int cmp(Node a,Node b) {
return a.l < b.l;
} int L,R,sum;
int n; bool check(int x) {
priority_queue<Node> Q;
int k = ;
for(int i = L; i <= R; i++) {
int t = x;
while(k!=n&&p[k].l<i) Q.push(p[k++]); while(!Q.empty()&&t!=) {
u = Q.top();
Q.pop();
if(u.r < i) return false;
if(u.v>t) {
u.v-=t;
t = ;
Q.push(u);
}
else t-=u.v;
} }
if(Q.empty()) return true;
else return false;
} int main()
{
freopen("in.txt","r",stdin);
int T;
scanf("%d",&T);
while(T--) {
scanf("%d",&n); for(int i = ; i < n; i++) {
scanf("%d%d%d",&p[i].l,&p[i].r,&p[i].v);
R = max(R,p[i].r);
L = min(L,p[i].l);
sum+=p[i].v;
} sort(p,p+n,cmp); int ans;
int l = ,r = sum;
while(l<=r) {
int mid = (l+r)/;
if(check(mid)) {
r = mid - ;
ans = mid;
}
else l = mid + ;
}
printf("%d\n",ans); }
return ;
}

LA 4254 贪心的更多相关文章

  1. UVa LA 4254 - Processor 二分,贪心 难度: 1

    题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

  2. LA 4254 处理器(二分+贪心)

    https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...

  3. LA 4636 (贪心) Cubist Artwok

    题意: 一个由若干小正方体组成的图形,给出它的正视图和侧视图,求满足条件的最少小正方体的个数. 分析: 虽说是一道简单的贪心,可一直没有太好的思路. 又一次可耻地看了别人的题解. http://blo ...

  4. LA 3266 (贪心) Tian Ji -- The Horse Racing

    题意: 田忌和齐王各有n匹马,如果马的速度比齐王的快就赢200,慢则输200,相等不赔不赚. 已知两人每匹马的速度(为整数)和齐王所排出的马的顺序,问田忌该如何应对才能使收益最大. 分析: 本以为是一 ...

  5. LA 4850 贪心

    感谢SF巨和WH巨的指导.. 首先,YY得到一个结论,罚值最大的最小值必定是按照截止时间排序得到的.然后,选一个任务插到其他位置,必定产生罚值最大值更大的情况,但有可能产生两个罚值最大情况和更小的情况 ...

  6. UVA LA 7146 2014上海亚洲赛(贪心)

    option=com_onlinejudge&Itemid=8&page=show_problem&category=648&problem=5158&mosm ...

  7. 【贪心】【POJ3154】墓地雕塑(Graveyard, NEERC 2006, LA 3708)需要稍稍加工的(先贪心,再确保能这样贪(可行性&&如果可行必定最优&&非证明最优性)的题)(K)

    例题4  墓地雕塑(Graveyard, NEERC 2006, LA 3708) 在一个周长为10000的圆上等距分布着n个雕塑.现在又有m个新雕塑加入(位置可以随意放),希望所有n+m个雕塑在圆周 ...

  8. Uva LA 3177 - Beijing Guards 贪心,特例分析,判断器+二分,记录区间内状态数目来染色 难度: 3

    题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...

  9. LA 6979 Known Notation 构造+贪心 铜牌题

    题意:给出一个字符串,有两种操作: 1.插入一个数字  2.交换两个字符   问最少多少步可以把该字符串变为一个后缀表达式(操作符只有*) #include <cstdio> #inclu ...

随机推荐

  1. 使用PagerSlidingTabStrip实现顶部导航栏

    使用PagerSlidingTabStrip配合ViewPager实现顶部导航栏. 效果图如下:          PagerSlidingTabStrip是github上的一个开源项目,项目地址如下 ...

  2. Angular4+NodeJs+MySQL 入门-05 接口调用

    接口调用 今天讲一下,如果在前端页面上通过调用后台接口,返回来的数据.把前面的几章结合起来. 这里所有用的代码在 https://github.com/xiaotuni/angular-map-htt ...

  3. 基于 jdk1.7 发布一个 WebService 服务

    1 服务端的发布 第一步: 创建一个 Java 项目第二步: 创建一个类, 加入 Webservice 注解第三步: 提供一个方法 sayHello第四步: 在 main 方法中调用 jdk 提供的发 ...

  4. ie兼容性问题汇总

    1.eval函数 <script type="text/javascript"> //eval的兼容性 var s="function(){alert('te ...

  5. Oracle 数据类型详解

    数据类型(datatype)是列(column)或存储过程中的一个属性. Oracle支持的数据类型可以分为三个基本种类:字符数据类型.数字数据类型以及表示其它数据的数据类型. 字符数据类型 CHAR ...

  6. 【Shell】shell的运算

    一.除法 a=12 b=7 1) expr $a / $b  计算出结果为个1 ,只支持整除 2) echo "scale=2;$a/$b" | bc结果为 1.71 3) awk ...

  7. 深入理解JavaScript系列(10):JavaScript核心(晋级高手必读篇)

    本篇是ECMA-262-3 in detail系列的一个概述(本人后续会翻译整理这些文章到本系列(第11-19章).每个章节都有一个更详细的内容链接,你可以继续读一下每个章节对应的详细内容链接进行更深 ...

  8. 1、v1 与 v2的比较

    1.路由的迁移 /* --- v1 ----*/ .config(function($stateProvider){ $stateProvider .state('main', { url: '/', ...

  9. css设置文字中间的小竖线

    主要css属性是border-right border-right:1px solid gray; padding-right:10px; padding-left:10px; <div dat ...

  10. Colorbox - a jQuery lightbox

    http://www.jacklmoore.com/colorbox/http://www.jacklmoore.com/colorbox/example5/ <script type=&quo ...