矩形嵌套 DP

来源:互联网 发布:西古德森实况数据 编辑:程序博客网 时间:2024/05/21 15:20

原先没看出来,后来发现和议题很像,都是胴体规划,那题是给你一些点的坐标,找到最多的点连成的显示单调的

#include<stdio.h>#include<stdlib.h>struct asd{int a,b,c;}ju[1010];int cmp(const void *a,const void *b){struct asd *c=(struct asd *)a,*d=(struct asd *)b;return c->b-d->b;}int qian(int j,int i){if(ju[i].a>ju[j].a&&ju[i].b>ju[j].b)return 1;return 0;}void sol(int n ){int i,j,max;ju[0].c=1;for(i=1;i<n;i++){max=0;for(j=0;j<i;j++)if(qian(j,i)&&ju[j].c>max)max=ju[j].c;ju[i].c=max+1;}}int main(){int t,n,i,z;scanf("%d",&t);while(t--){scanf("%d",&n);for(i=0;i<n;i++){scanf("%d%d",&ju[i].a,&ju[i].b);if(ju[i].a>ju[i].b){z=ju[i].a;ju[i].a=ju[i].b;ju[i].b=z;}}qsort(ju,n,sizeof(ju[0]),cmp);sol(n);int max=ju[0].c;for(i=1;i<n;i++)if(ju[i].c>max)max=ju[i].c;printf("%d\n",max);}return 0;}


原创粉丝点击