hdu6180Schedule(贪心+set)
来源:互联网 发布:心徹为知,循道而为 编辑:程序博客网 时间:2024/06/07 13:12
题意:
给你一些时间区间,时间区间内的时间点必须要有机器工作,并且重合的区间必须要由不同的机器工作,问用最少的机器数,并且在这个最小机器数的前提下所花费的最小的时间和
思路:
贪心:按左端点升序排序,一个一个加就好。但是加机器操作这个多校时没有模拟出来,后来知道set里竟然也有upperbound。
代码:
#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1e5+7;int n;struct node{ int l,r;}arr[maxn];bool cmp(node a,node b){ return a.l<b.l;}multiset<int> s;int main(){ int t; scanf("%d",&t); while(t--) { scanf("%d",&n); s.clear(); for(int i = 0;i<n;i++) { scanf("%d%d",&arr[i].l,&arr[i].r); } sort(arr,arr+n,cmp); ll ans = 0; for(int i = 0;i< n;i++) { multiset<int>::iterator it = s.upper_bound(arr[i].l); if(it==s.begin()) { ans+=arr[i].r-arr[i].l; s.insert(arr[i].r); } else { it--; ans+=arr[i].r-*it; s.erase(it); s.insert(arr[i].r); } } printf("%d %lld\n",s.size(),ans); } return 0;}
阅读全文
1 0
- hdu6180Schedule(贪心+set)
- hdu6180Schedule-(贪心)
- HDU6180Schedule(贪心)
- hdu6180Schedule(第十场贪心)
- hdu6180Schedule
- hdu4268(贪心+set)
- hdu 5360 set+贪心 // 优先队列+贪心
- hdu4268(贪心+set容器)
- hdu 4268 Alice and Bob (set+贪心)
- HDU 4268 Alice and Bob (set+贪心)
- hdu 4268 贪心+set lower_bound用法
- Codeforces 497C Distributing Parts set+贪心
- codeforces 520d Cubes 贪心+set
- CF#310 div2 D set+pair+贪心
- hdu 4864 Task 贪心+二分/set
- hdoj 4268 Alice and Bob 【贪心 + set】
- 3716: [PA2014]Muzeum 计算几何+贪心+set
- CodeForces 722D Generating Sets 贪心+Set
- Mybatis框架常见面试题
- java enum 枚举类型
- H.264
- Spring+MYBatis企业应用实战pdf
- 一招解决pdf转jpg,又快又方便
- hdu6180Schedule(贪心+set)
- scala可以自动推断常量和变量的类型
- Android安全–一次简单的脱壳Dump dex实践
- 共享单车工作原理
- SpringMVC学习(三)-HiddenHttpMethodFilter过滤器&RequestParam注解&CookieValue注解
- Android 四种线程池
- [LintCode 453] 将二叉树拆成链表(Python)
- Mac安装boost库
- java中带变量的json格式数据用string拼接示例