#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
struct node{
int h,w;
}rec[];
bool cmp(node a,node b){
if(a.h!=b.h) return a.h<b.h;
else return a.w>b.w;
}
int vis[]={};
int n,count1;
//void find(int k){
// if(k==n){return ;}
// int ok=1;
// for(int i=k+1;i<n;i++){
// if(!vis[i]&&rec[i].w>rec[k].w){
// vis[i]=1;
// find(i);
// ok=0;
// break;
// }
// else find(i);
// }
// if(ok){
// count1++;
// find(k+1);
// }
//}
void find(int m){
int k;
for( k=m+;k<n;k++){
if(!vis[k]&&rec[k].w>rec[m].w&&rec[k].h>rec[m].h){
// cout<<"!!"<<endl;
vis[k]=;
find(k);
break;
}
}
if(k>=n) {
// cout<<m<<endl;
count1++;}
}
int main(){
int t;
cin>>t;
while(t--){
cin>>n;
for(int i=;i<n;i++){
int h,w;
scanf("%d%d",&h,&w);
rec[i].h=h;
rec[i].w=w;
}
count1=;
memset(vis,,sizeof(vis));
sort(rec,rec+n,cmp);
for(int i=;i<n;i++){
if(vis[i]) continue;
find(i);}
cout<<count1<<endl;
}
}

矩形嵌套问题;

目前理解  贪心如此题,应该是h和w最为接近的两点想嵌套为局部最优解,而动态规划应为dijk类型f(x+1)=f(x) 这个f(x)包含了仅限于x以下的全局最优解   当然 也就是逆推可以求解

最新文章

  1. ionic2+angular2中踩的那些坑
  2. 在SQLSERVER里,怎么让别人只能输入一个字母的约束该怎么写?就是26个字母中的任意一个?
  3. Catalyst揭秘 Day3 sqlParser解析
  4. WPF之Behavior
  5. HttpClient 发送 HTTP、HTTPS 请求的简单封装
  6. LoadRunner脚本增强
  7. Android 推断SD卡是否存在及容量查询
  8. 创意HTML5文字特效 类似翻页的效果
  9. HDU 1043 八数码(八境界)
  10. Python小代码_10_判断是否为素数
  11. Openstack: MP-BIOS bug: 8254 timer not connected to IO-APIC
  12. Vue(小案例_vue+axios仿手机app)_上拉加载
  13. 自定义函数hello,并注册到hive源码中并重新编译
  14. Codeforces.468C.Hack it!(构造)
  15. 【JVM】-NO.116.JVM.1 -【JDK11 HashMap详解-5-红黑树】
  16. JQuery Mobile - input 属性为 number,maxlength不起作用如何解决?
  17. php urlencode函数 (中文字符转换为十六进制)
  18. pyqt5.8.2没有qt Designer和assistant exe
  19. Tomcat端口的改变和编码的设置
  20. IntelliJ IDEA 显示行号

热门文章

  1. vm文件
  2. 2018最新版 手机号、验证码正则表达式 jq + 小程序
  3. 12 Python之函数进阶
  4. CSS-百分百布局
  5. Django框架——进阶之AJAX
  6. 用js方式取得接口里面json数据的key和value值
  7. 隔离技术线程池(ThreadPool)和信号量(semaphore)
  8. python中的else语句
  9. 去掉或修改lightinthebox网址与标题中Wholesale关键词
  10. JavaScript This 的六道坎