Codeforces 496E
来源:互联网 发布:山西九鼎软件记账 编辑:程序博客网 时间:2024/06/07 07:51
贪心 二分查找 因为要不断地删除 用set容器
#include <cstdio>#include <cstring>#include <string.h>#include <iostream>#include <algorithm>#include <queue>#include <vector>#include <cmath>#include <set>#include <map>using namespace std;const int N=100005;struct node{int d,k,id;bool operator<(const node& tmp)const{return d<tmp.d;}};multiset<node> st;multiset<node> :: iterator it;struct node1{int a, b, id;bool operator < (const node1& rhy) const { return a < rhy.a;}} a[N];struct node2{int c, d, k, id;bool operator < (const node2& rhy) const { return c < rhy.c;}} b[N];int ans[N];int main(){int n, m;scanf("%d", &n);for(int i = 0; i < n; ++ i)scanf("%d%d", &a[i].a, &a[i].b), a[i].id = i;scanf("%d", &m);for(int i = 0; i < m; ++ i)scanf("%d%d%d", &b[i].c, &b[i].d, &b[i].k), b[i].id = i;sort(a,a+n);sort(b,b+m);int j = 0, flag = 0;for(int i = 0; i < n; ++ i){node tmp;while(j < m && b[j].c <= a[i].a) {tmp.d = b[j].d, tmp.k = b[j].k, tmp.id = b[j].id;st.insert(tmp);j++;}if(st.empty()) {flag=1;break;}tmp.d = a[i].b, tmp.k = 0, tmp.id = 0;it=st.lower_bound(tmp);if(it == st.end()) {flag = 1;break;}tmp = *it;st.erase(it);ans[a[i].id] = tmp.id;if(tmp.k>1) tmp.k--, st.insert(tmp);}if(flag == 1) printf("NO\n");else{puts("YES");for(int i = 0; i < n; ++ i)printf("%d ",ans[i]+1);puts("");}return 0;}
0 0
- Codeforces 496E
- codeforces 496 e Distributing Parts
- CODEFORCES, 496E Distributing Parts
- codeforces 496e Distributing Parts 贪心
- Codeforces 496E - Distributing Parts 贪心
- codeforces 496E Distributing Parts(贪心)
- Codeforces 496E. Distributing Parts 排序+贪心
- Codeforces 496E Distributing Parts(贪心)
- codeforces 163E e-Government
- 【Codeforces 163E】E-Government
- Codeforces 78E Evacuation
- 【dp】codeforces 83E
- Codeforces 124 E
- Codeforces 231E
- Codeforces 231E - Cactus
- Codeforces #163 Div2 E
- codeForces 35E
- Codeforces 35E
- EAS 服务器缓存清理路径
- Python中input()函数与raw_input()函数的区别
- redhat 5下设置tomcat自动启动
- 在vim中使用sdcv查询英语单词
- java Executor框架
- Codeforces 496E
- 也许你真正的思念和牵挂从此开始了
- Redis深入之对象
- JavaMail 客户端发送邮件,如何修改服务器端口
- Ubuntu linux下设置IP配置命令
- 常用的android设计模式
- js-上传图片预览
- 她不会为了生活向你伸手讨要钱财。
- QT刷单平台哪个好