题意:

N位女士一起聚在一个舞厅。每位女士有三个特征值B,I,R。分别代表美貌,智慧,富有。

对于一位女士而言,如果存在一个女士的B,I,R都分别大于她自己的B,I,R。则她自己会自杀。

统计总共有多少个女士会自杀。

1 ≤ N ≤ 500000

0 ≤ Bi, Ii, Ri ≤ 109

思路:

这题想不出来。看了题解后觉得很妙。

思想和最长上升子序列的贪心做法有相像的地方。

按B从小到大排,若B相等按I自大到小排,若I相等,按R从小到大排。

*:存在map里的东西(map[key]=val)必有:key1<key2<key3<... 且 val1>val2>val3>... (不存在key[i]<key[j]且val[i]<val[j],因为<key[i],val[i]>可以去掉)

*边界是个好东西。

代码:

int const N = 500005;
int const oo=1e9+5; struct node{
int B,L,R;
}
lady[N]; int n; bool cmp(node a,node b){
if(a.B==b.B){
if(a.L==b.L){
return a.R<b.R;
}else{
return a.L>b.L;
}
}
else{
return a.B<b.B;
}
} map<int,int> mp;
map<int,int>::iterator it; int main(){ cin>>n;
rep(i,1,n) scanf("%d",&lady[i].B);
rep(i,1,n) scanf("%d",&lady[i].L);
rep(i,1,n) scanf("%d",&lady[i].R);
sort(lady+1,lady+1+n,cmp); mp.clear();
int ans=0; mp[-oo]=oo;
mp[oo]=-oo;
rep2(i,n,1){
it=mp.upper_bound(lady[i].L);
if(it->second>lady[i].R){ //会自杀
++ans;
}
else{ //不会自杀
if(mp[lady[i].L]<lady[i].R){
mp[lady[i].L]=lady[i].R;
it=mp.lower_bound(lady[i].L);
--it; //不能丢,不然下面while没有用了,,
while(it->second<lady[i].R){
mp.erase(it--);
}
}
}
}
printf("%d\n",ans); return 0;
}

最新文章

  1. 2016-03-04记录 H264.TXT 转成 H264.h264
  2. 【巩固】JS中的封闭空间
  3. MVC学习笔记--跟小静学MVC相关语法特性小补习
  4. node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用提高nodejs调试效率
  5. Js获取当前日期时间及格式化操作
  6. sysconf和pathconf使用
  7. android——仿微拍贷滑动圆形菜单
  8. CSS自学笔记(12):CSS3文字特效
  9. HTTP协议系列(3)---包括WebSocket简单介绍
  10. Linux学习——shell编程之环境变量配置文件
  11. [SCOI2007]最大土地面积
  12. ccf认证 201709-4 通信网络 java实现
  13. selenium之生成html测试报告--testng.xsl
  14. JAVA在Windows使用apache commons-csv导出CSV解决方案
  15. selenium+xpath在不同层级的写法
  16. kali linux常用软件配置记录
  17. Nginx4大模块——proxy、headers、upstream、stream
  18. JVM 体系结构介绍
  19. 微信小程序 --- 设置页面的标题
  20. PHP - 脚本退出(包括异常退出),执行指定代码

热门文章

  1. P1088 [NOIP2004 普及组] 火星人
  2. Jmeter线程组设置
  3. Hbuilder 生成移动App资源升级包
  4. Python读取ini配置文件(接口自动测试必备)
  5. The art of multipropcessor programming 读书笔记-硬件基础1
  6. 开源框架 - 新 代码生成器 WebFirst / .NET Core
  7. Vulnstack内网靶场1
  8. 5 大场景深度探讨何为 Serverless 架构模式?
  9. Redis缓存穿透、缓存击穿、缓存雪崩的介绍及其解决方案
  10. uoj22 外星人(dp)