Codeforces_496_E_贪心
http://codeforces.com/problemset/problem/496/E
这好像叫序列混合贪心,简单地讲,用歌去匹配最符合条件的人。用了multiset,重载了<,加快寻找最符合条件的人的速度。
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<set>
using namespace std; struct song{
public:
int low,high,flag,num;
friend bool operator<(const song x,const song y)
{
return x.high < y.high;
}
}a[];
int ans[],counts[]; bool cmp(song x,song y)
{
if(x.low != y.low) return x.low < y.low;
return x.flag < y.flag;
} int main()
{
multiset<song> s;
multiset<song>::iterator it;
int n,m;
cin >> n;
for(int i = ;i <= n;i++)
{
cin >> a[i].low >> a[i].high;
a[i].flag = ;
a[i].num = i;
}
cin >> m;
for(int i = n+;i <= m+n;i++)
{
cin >> a[i].low >> a[i].high >> counts[i-n];
a[i].flag = ;
a[i].num = i-n;
} sort(a+,a++m+n,cmp);
s.clear();
for(int i = ;i <= m+n;i++)
{
if(a[i].flag)
{
it = s.lower_bound(a[i]);
if(it == s.end())
{
cout << "NO" << endl;
return ;
}
else
{
ans[a[i].num] = it->num;
counts[it->num]--;
if(!counts[it->num])
{
s.erase(it);
}
}
}
else
{
s.insert(a[i]);
}
}
cout << "YES" << endl;
int i;
for(i = ;i < n;i++)
{
cout << ans[i] << " ";
}
cout << ans[i] << endl;
return ; }
Codeforces_496_E_贪心的更多相关文章
- BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]
1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1383 Solved: 582[Submit][St ...
- HDOJ 1051. Wooden Sticks 贪心 结构体排序
Wooden Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- BZOJ 1691: [Usaco2007 Dec]挑剔的美食家 [treap 贪心]
1691: [Usaco2007 Dec]挑剔的美食家 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 786 Solved: 391[Submit][S ...
- 【Codeforces 738D】Sea Battle(贪心)
http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...
- 【BZOJ-4245】OR-XOR 按位贪心
4245: [ONTAK2015]OR-XOR Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 486 Solved: 266[Submit][Sta ...
- code vs 1098 均分纸牌(贪心)
1098 均分纸牌 2002年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 有 N 堆纸牌 ...
- 【BZOJ1623】 [Usaco2008 Open]Cow Cars 奶牛飞车 贪心
SB贪心,一开始还想着用二分,看了眼黄学长的blog,发现自己SB了... 最小道路=已选取的奶牛/道路总数. #include <iostream> #include <cstdi ...
- 【贪心】HDU 1257
HDU 1257 最少拦截系统 题意:中文题不解释. 思路:网上有说贪心有说DP,想法就是开一个数组存每个拦截系统当前最高能拦截的导弹高度.输入每个导弹高度的时候就开始处理,遍历每一个拦截系统,一旦最 ...
随机推荐
- shell正则表达式和cut命令
正则表达式 符号 描述 $ 匹配输入字符串的结尾位置 () 标记一个子表达式的开始和结束位置 * 匹配前面的子表达式零次或多次 + 匹配前面的子表达式一次或多次 . 匹配除换行符(\n)之外的任何单字 ...
- 移动web 1像素边框
实现方法 border-image 图片 实现 这篇文章是腾讯github上的解决方案border-image来实现的 链接走起 <使用border-image实现类似iOS7的1px底边> ...
- AcWing 247. 亚特兰蒂斯 | 扫描线
传送门 题目描述 有几个古希腊书籍中包含了对传说中的亚特兰蒂斯岛的描述. 其中一些甚至包括岛屿部分地图. 但不幸的是,这些地图描述了亚特兰蒂斯的不同区域. 您的朋友Bill必须知道地图的总面积. 你自 ...
- AcWing 244. 谜一样的牛|树状数组
传送门 题目描述 有n头奶牛,已知它们的身高为 1~n 且各不相同,但不知道每头奶牛的具体身高. 现在这n头奶牛站成一列,已知第i头牛前面有Ai头牛比它低,求每头奶牛的身高. 输入格式 第1行:输入整 ...
- 【官方文档翻译】SpringBootActuator生产特性
翻译自 spring-boot 官方文档(版本:2.2.2.RELEASE) Spring Boot包含了许多附加功能,可以帮助您在将应用程序推送到生产环境时监视和管理它.您可以选择使用HTTP端点或 ...
- 【DPDK】【Multiprocess】一个dpdk多进程场景的坑
[前言] 这是一个隐藏了近3年的问题,理论上只要用到DPDK multiprocess场景的都会遇到这个问题,具体出不出问题只能说是看运气,即使不出问题也仍然是一个风险. [场景] 我先描述一下这个问 ...
- Linux删除文件 清除缓存
相信很多测试 经常会经历开发叫你清除缓存这种事. 那我们要怎么清呢? 一.首先,确认你要清除的缓存在哪个目录下,然后切换到该目录下,比如 我现在知道我的的缓存目录是在newerp这个目录下,则如图 二 ...
- 引用dll出现的问题:发生一个或多个错误,引用无效或不支持该引用
获取到新的项目后,然后FineUI就出现黄色的标志,肯定是不可以用的,需要重新引用下. 然后我就开始重新引用下,就出现下面的问题: 因为是购买的UI,一开始我怀疑是引用的版本不一样呢,其实都不是 只需 ...
- VMware Workstation CentOS7 Linux 学习之路(4)--守护服务(Supervisor)
目前存在三个问题 问题1:ASP.NET Core应用程序运行在shell之中,如果关闭shell则会发现ASP.NET Core应用被关闭,从而导致应用无法访问,这种情况当然是我们不想遇到的,而且生 ...
- VSCode前端 插件
https://www.cnblogs.com/karthuslorin/p/8577224.html