题意:

给n个点,一个点(x,y)有优势时满足不存在点(fx,fy)使得fx<x,fy<=y或fx<=x,fy<y;问当前有多少个有优势点;

思路:

学习BST的入门题,代码是白书上的;

AC代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <bits/stdc++.h>
#include <stack>
#include <map> using namespace std; #define For(i,j,n) for(int i=j;i<=n;i++)
#define mst(ss,b) memset(ss,b,sizeof(ss)); typedef long long LL; template<class T> void read(T&num) {
char CH; bool F=false;
for(CH=getchar();CH<'0'||CH>'9';F= CH=='-',CH=getchar());
for(num=0;CH>='0'&&CH<='9';num=num*10+CH-'0',CH=getchar());
F && (num=-num);
}
int stk[70], tp;
template<class T> inline void print(T p) {
if(!p) { puts("0"); return; }
while(p) stk[++ tp] = p%10, p/=10;
while(tp) putchar(stk[tp--] + '0');
putchar('\n');
} const LL mod=1e9+7;
const double PI=acos(-1.0);
const int inf=1e9+10;
const int N=1e5+10;
const int maxn=1e3+20;
const double eps=1e-12; struct PO
{
int x,y;
bool operator< (const PO& rhs) const
{
return x<rhs.x||(x==rhs.x&&y<rhs.y);
}
};
multiset<PO>s;
multiset<PO>::iterator it;
int main()
{
int t,Case=0;
read(t);
while(t--)
{
s.clear();
if(Case)printf("\n");
printf("Case #%d:\n",++Case);
int n,x,y;
read(n);
For(i,1,n)
{
read(x);read(y);
PO temp=(PO){x,y};
it=s.lower_bound(temp);
if(it == s.begin()||(--it)->y > y)
{
s.insert(temp);
it=s.upper_bound(temp);
while(it!=s.end()&&it->y >= y)s.erase(it++);
}
printf("%d\n",s.size());
}
}
return 0;
}

  

最新文章

  1. Set up VLAN (802.1q) tagging on a network interface?
  2. ubuntu 安装VmTool
  3. 疯狂的ASP.NET系列-第一篇:啥是ASP.NET
  4. 算法(二)之遗传算法(SGA)
  5. POJ 1125 Stockbroker Grapevine 最短路 难度:0
  6. Hive Metastore ObjectStore PersistenceManager自动关闭bug解析
  7. Slithice 分布式架构设计
  8. idea空包自动叠加问题
  9. sql 按时间二段排序
  10. 每天一个Linux命令(07)--mv命令
  11. 指令汇B新闻客户端开发(一) 新手引导页开发
  12. AQS学习笔记之独占锁
  13. Python数据结构与算法相关问题与解决技巧
  14. PostgreSQL 创建触发器 Trigger
  15. AppleScript脚本学习记录《一》
  16. Forms.WebBrowser与Controls.WebBrowser区别
  17. [LeetCode_98]Validate Binary Search Tree
  18. tomcat Failed creating java C:\Program Files\Java\jre6\bin\client\jvm.dll %1 不是有效的 Win32 应用程序。
  19. 面向切面编程--AOP(转)
  20. Java 浅析 Thread.join()

热门文章

  1. VMWare Workstation和VMWare vSphere(转)
  2. Android数据适配器(Adapter)优化:使用高效的ViewHolder
  3. ios输出想保留的整数位(占位符)
  4. PHP-Manual的学习----【语言参考】----【类型】-----【Interger类型】
  5. Lumen开发:结合Redis实现消息队列(2)
  6. 我自己曾经经历的CMMI3认证通过关于软件测试的访谈【转载】
  7. 【BZOJ3744】Gty的妹子序列 分块+树状数组
  8. Map集合按value的大小排序
  9. dubbo启动报错多个资源争缓存问题
  10. CentOS7.1安装 Vsftpd FTP 服务器