NOJ 16题 矩形嵌套 DP(单调递增子序列)

题目链接~~>

本题为简单DP,需用单调递增子序列,不废话了一切尽在代码中。

 

代码:

#include
#include
using namespace std;
int dp[1005];
struct zhang
{
          int x,y;
}t[1005];
bool cmp(const zhang &a,const zhang &b)
{
    return a.x < b.x ;
}
int main()
{
    int T,i,j,max,a,b,n,q;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        max=0;
        for(i=0;ib)
                {
                    q=a;a=b;b=q;
                }
              t[i].x=a;t[i].y=b;
         }
         sort(t,t+n,cmp);
        for(i=0;it[j].x&&t[i].y>t[j].y&&dp[j]+1>dp[i])
                     dp[i]=dp[j]+1;
                if(max


 

你可能感兴趣的:(NOJ 16题 矩形嵌套 DP(单调递增子序列))