设为首页 加入收藏

TOP

嵌套矩形 DAG上的dp(深搜+dp)
2014-11-24 12:43:44 】 浏览:997
Tags:矩形 DAG 深搜

矩形嵌套

时间限制:3000 ms | 内存限制:65535 KB 难度:4
描述
有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a
输入
第一行是一个正正数N(0 每组测试数据的第一行是一个正正数n,表示该组测试数据中含有矩形的个数(n<=1000)
随后的n行,每行有两个数a,b(0 输出
每组测试数据都输出一个数,表示最多符合条件的矩形数目,每组输出占一行
样例输入
1
10
1 2
2 4
5 8
6 10
7 9
3 1
5 8
12 10
9 7
2 2
样例输出
5
来源
经典题目
上传者
张云聪
这题搞了好久,看白书上说的挺容易的,但是自己错漏百出,把所以的缺点都暴露出来了,挺好!
刚开始用vector建图直接TLE,刚开始没看出来,然后才感觉出来,改成数组邻接表2688ms,水过。用矩阵建图反正才12ms,唉……题目中的图正好是稠密图,所以不管用vector还是数组邻接表时间都很多也是这个原因,妹的!以前做图论还没遇到卡这的,现在终于遇到了。
#include 
    
     
#include 
     
       #include 
      
        #include 
       
         #include 
        
          #include 
         
           #include 
          
            #include 
           
             #include 
            
              #include
              #include 
              
                #include 
               
                 #define PI acos(-1.0) #define mem(a,b) memset(a,b,sizeof(a)) #define sca(a) scanf(%d,&a) #define sc(a,b) scanf(%d%d,&a,&b) #define pri(a) printf(%d ,a) #define lson i<<1,l,mid #define rson i<<1|1,mid+1,r #define MM 204 #define MN 1008 #define INF 2000000000 #define eps 1e-8 using namespace std; typedef long long ll; typedef unsigned long long ULL; int n,dp[MN],head[MN*10],cnt; struct node { int x,y; }e[MN]; struct no { int v,next; }ee[MN*10]; void add(int u,int v) { ee[cnt].v=v,ee[cnt].next=head[u],head[u]=cnt++; } bool cmp(node a,node b) { if(a.x==b.x) return a.y
                
                 y) swap(x,y); e[i].x=x,e[i].y=y; } sort(e+1,e+n+1,cmp); for(i=1;i<=n;i++) for(j=i+1;j<=n;j++) if(e[i].x
                 
                  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇poj 2456 二分法 最大化最小值 下一篇C++ Primer 学习笔记_66_面向对象..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目