option=com_onlinejudge&Itemid=8&page=show_problem&category=648&problem=5158&mosmsg=Submission+received+with+ID+1708713">https://icpcarchive.ecs.baylor.edu/index.php?

option=com_onlinejudge&Itemid=8&page=show_problem&category=648&problem=5158&mosmsg=Submission+received+with+ID+1708713

/**
UVA LA 7146 2014上海亚洲赛(贪心)
题目大意:给定敌我两方士兵的数量和每一个士兵的攻击力和防守力,假设两个士兵对战。一方的攻击力大于等于还有一方的防守力。那么成功杀死,可能同归于尽
问在我方能够全部杀死地方士兵的情况下,问我方能剩下的士兵最多是多少
解题思路:这题去年在现场没有写出来== 首先要保证的是地方全部人都要被杀死,那么把我方士兵攻击力递减排序。敌方士兵防守力递减排序。枚举敌方的
士兵。将我方全部攻击力大于其防守力的士兵入multiset。然后在当中选择第一个防守力大于当前敌方士兵攻击力的我方士兵,若没有满足的,删除
我方防守力最低的士兵
*/
#include <string.h>
#include <stdio.h>
#include <algorithm>
#include <iostream>
#include <set>
using namespace std;
typedef long long LL;
const int maxn=100005;
int m,n;
struct note
{
int x,y;
bool operator < (const note &other)const
{
return x>other.x;
}
}a[maxn],b[maxn]; int main()
{
int T,tt=0;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++)
{
scanf("%d%d",&a[i].x,&a[i].y);
}
for(int j=0;j<m;j++)
{
scanf("%d%d",&b[j].y,&b[j].x);
}
sort(a,a+n);
sort(b,b+m);
multiset <int> st;
int p=0,ans=n;
for(int i=0;i<m;i++)
{
while(b[i].x<=a[p].x&&p<n)
{
st.insert(a[p++].y);
}
if(st.empty())
{
ans=-1;
break;
}
multiset<int>::iterator it=st.upper_bound(b[i].y);
if(it==st.end())
{
st.erase(st.begin());
ans--;
}
else
st.erase(it);
}
printf("Case #%d: %d\n",++tt,ans);
}
return 0;
}
/**
2
3 2
5 7
7 3
1 2
4 4
2 2
2 1
3 4
1 10
5 6
*/

UVA LA 7146 2014上海亚洲赛(贪心)的更多相关文章

  1. 2014上海网络赛 HDU 5053 the Sum of Cube

    水 #include <stdio.h> #include <stdlib.h> #include<math.h> #include<iostream> ...

  2. hdu 5053 (2014上海网赛L题 求立方和)

    题目大意:给你L到N的范围,要求你求这个范围内的所有整数的立方和. Sample Input2 //T1 32 5 Sample OutputCase #1: 36Case #2: 224 # inc ...

  3. UVA LIVE 7146 Defeat the Enemy

    这个题跟codeforces 556 D Case of Fugitive思路一样 关于codeforces 556 D Case of Fugitive的做法的链接http://blog.csdn. ...

  4. [蓝桥杯]2014蓝桥省赛B组题目及详解

    /*——————————————————————————————————————————————————————————— [结果填空题]T1 题目:啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元.小 ...

  5. 2014 ACM广东省赛总结

    2014年广东省赛在化工大学城开,5月10日开幕式&热身赛,5月11日正式赛. 热身赛的时候,开幕式说有两小时,于是我们愉快的切题了,像平常组队赛那样很快出了两题,但卡在后面两题切不动了.这时 ...

  6. 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it

    链接:https://www.nowcoder.com/acm/contest/163/F 来源:牛客网 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it 时间限制:C ...

  7. 2018 ACMICPC上海大都会赛重现赛 H - A Simple Problem with Integers (线段树,循环节)

    2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 H - A Simple Problem with Integers (线段树,循环节) 链接:https://ac.nowcoder.co ...

  8. 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it (扫描线)

    2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it (扫描线) 链接:https://ac.nowcoder.com/acm/contest/163/F来源:牛客网 时间 ...

  9. 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 J Beautiful Numbers (数位DP)

    2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 J Beautiful Numbers (数位DP) 链接:https://ac.nowcoder.com/acm/contest/163/ ...

随机推荐

  1. sqlprofiler 常用调试方法

  2. 数据指令MOV

    MOV分成三类,第一类不需要拓展(MOV),第二类做符号拓展(MOVS),第三类做零拓展(MOVZ),拓展类型根据源操作数决定. 这三类根据操作的数据类型其后可加l,w,b. MOV操作的操作数可以是 ...

  3. SQL中如何使用UPDATE语句进行联表更新(转)

    在本例中: 我们要用表member中的name,age字段数据去更新user中的同字段名的数据,条件是当user 中的id字段值与member中的id字段值相等时进行更新. SQL Server语法: ...

  4. linux动态库加载的秘密

    摘自http://gotowqj.iteye.com/blog/1926734 摘自http://www.360doc.com/content/14/0313/13/12747488_36024641 ...

  5. javascript第十六课:动态注册事件

    直接给dom元素添加动态事件,如: document.getelementbyid('#id').onclick=function(){ 方法体! };

  6. 【STL】算法 — partial_sort

    partial_sort接受一个middle迭代器,使序列中的middle-first个最小元素以递增顺序排序.置于[first, middle)内.以下是測试代码: #include <ios ...

  7. java logger级别

    typedef enum android_LogPriority { ANDROID_LOG_UNKNOWN = 0, ANDROID_LOG_DEFAULT,    /* only for SetM ...

  8. js正则判断电话/手机/邮箱/

    用途:校验ip地址的格式 输入:strIP:ip地址返回:如果通过验证返回true,否则返回false:*/ function isIP(strIP) { if (isNull(strIP)) ret ...

  9. Hibernate中load与get的区别

    1.get()采用立即加载方式,而load()采用延迟加载; ①get()方法执行的时候,会立即向数据库发出查询语句;(查询顺序:内部缓存,数据库) ②load()方法返回的是一个代理(此代理中只有一 ...

  10. java synchronized使用

    java synchronized 基本上,所有并发的模式在解决线程冲突问题的时候,都是采用序列化共享资源的方案.这意味着在给定时刻只允许一个任务访问该资源.这个一般通过在代码上加一条锁语句实现,因为 ...