Codeforces 496E. Distributing Parts 排序+贪心
来源:互联网 发布:知道软件下载 编辑:程序博客网 时间:2024/06/05 05:01
将歌曲按低音从小到大排序,歌手也按低音从小到大排序.
对每首歌曲,在一个SET中查找低音满足条件的而高音刚好满足条件的歌手
/* ***********************************************Author :CKbossCreated Time :2015年03月24日 星期二 18时04分40秒File Name :CF496E.cpp************************************************ */#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <string>#include <cmath>#include <cstdlib>#include <vector>#include <queue>#include <set>#include <map>using namespace std;typedef pair<int,int> pII;const int maxn=100100;int n,m;struct Part{int l,r,id;}part[maxn];struct Actor{int l,r,k,id;}actor[maxn];bool cmp1(Part A,Part B){if(A.l!=B.l) return A.l<B.l;return A.r<B.r;}bool cmp2(Actor A,Actor B){if(A.l!=B.l) return A.l<B.l;return A.r<B.r;}set<pII> SP;int ans[maxn];int num[maxn];int main(){ //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout);scanf("%d",&n);for(int i=0;i<n;i++){int a,b;scanf("%d%d",&a,&b);part[i].l=a; part[i].r=b; part[i].id=i;}scanf("%d",&m);for(int i=0;i<m;i++){int a,b,c;scanf("%d%d%d",&a,&b,&c);actor[i].l=a; actor[i].r=b; actor[i].k=c; actor[i].id=i;num[i]=c;}sort(part,part+n,cmp1);sort(actor,actor+m,cmp2);bool flag=true;int nx=0;SP.insert(make_pair(1756942789,0));for(int i=0;i<n;i++){/// add actorwhile(nx<m&&actor[nx].l<=part[i].l){SP.insert(make_pair(actor[nx].r,actor[nx].id));nx++;}/// binary searchpII temp=*(SP.lower_bound(make_pair(part[i].r,0)));if(temp.first==1756942789){flag=false;break;}ans[part[i].id]=temp.second;num[temp.second]--;if(num[temp.second]==0) SP.erase(temp);}if(flag==false) puts("NO");else{puts("YES");for(int i=0;i<n;i++) printf("%d ",ans[i]+1);putchar(10);} return 0;}
0 0
- Codeforces 496E. Distributing Parts 排序+贪心
- codeforces 496e Distributing Parts 贪心
- Codeforces 496E - Distributing Parts 贪心
- codeforces 496E Distributing Parts(贪心)
- Codeforces 496E Distributing Parts(贪心)
- codeforces 496 e Distributing Parts
- CODEFORCES, 496E Distributing Parts
- CF 496E(Distributing Parts-序列混合贪心+set)
- Code Forces 496 E. Distributing Parts(贪心)
- Codeforces 497C Distributing Parts set+贪心
- CF - 496E Distributing Parts - 离线
- Distributing Parts CodeForces
- Codeforces 497C Distributing Parts
- codeforces 732E (贪心)
- Codeforces 777E 贪心
- codeforces 777E 贪心
- codeforces 825E Minimum Label 拓扑排序+逆向思维贪心
- CF 496E 贪心,排序,set
- 淘宝吴雪军:自然语言处理技术在搜索和广告中的应用
- gcc编译器的具体处理过程
- 黑马程序员——Java编程语言学习总结 – 网络编程
- java问题,(x.equals(y) == true)有相同的hashCode 应该是不一定
- 百来篇关于机器学习和深度学习的资料
- Codeforces 496E. Distributing Parts 排序+贪心
- TestNG学习记录--------基本注解
- 80X86寄存器介绍
- c++第四题20150324
- c++ 编译器为class自动合成默认构造函数的四种情况
- Deep Learning(深度学习)学习笔记整理
- Google Dexmaker 代码解析(五)-- Local<T>
- windows上搭建IOS开发环境
- codesign