zoukankan      html  css  js  c++  java
  • 矩形套矩形解题报告

    最长递增子序列

    这到题给我的启发是:
    1,最长递增子序列实际上就是不知道起点的动规模型。
    2,动规运用在有序的数据上(如果不对矩形进行排序处理,就没有“前面的矩形不可能包含后面矩形的断言”==“前面的数小于后面的数”)

    做法:排序+最长递增子序列
    动规方程: f[i]=max(f[j]+1)(1<=j<i, a[j]<a[i]&&b[j]<b[i]) ==最长递增子序列的动规方程

     1 #include <stdio.h>
     2 int a[1001], b[1001], f[1001];
     3 void qsort(int l, int r)
     4 {
     5     int x, y, mid1, mid2, temp;
     6     mid1=a[(l+r)/2];
     7     mid2=b[(l+r)/2];
     8     x=l; 
     9     y=r;
    10     while(x<=y)
    11     {
    12         while(a[x]<mid1||(a[x]==mid1&&b[x]<mid2))    x++;
    13         while(a[y]>mid1||(a[y]==mid1&&b[y]>mid2))    y--;
    14         if(x<=y)
    15         {
    16             temp=a[x];
    17             a[x]=a[y];
    18             a[y]=temp;
    19             temp=b[x];
    20             b[x]=b[y];
    21             b[y]=temp;
    22             x++;
    23             y--;
    24         }
    25     }
    26     if(l<y)    qsort(l, y);
    27     if(x<r)    qsort(x, r);
    28 }
    29 int main()
    30 {
    31     int n, i, k, temp, ans=1;
    32     scanf("%d", &n);
    33     for(i=1; i<=n; i++)
    34     {
    35         scanf("%d%d", &a[i], &b[i]);
    36         if(a[i]<b[i])
    37         {
    38             temp=a[i];
    39             a[i]=b[i];
    40             b[i]=temp;
    41         }
    42     }
    43     qsort(1, n);
    44     for(i=1; i<=n; i++)
    45     {
    46         for(k=1; k<i; k++)
    47         {
    48             if(a[i]>a[k]&&b[i]>b[k]&&f[k]+1>f[i])
    49             {
    50                 f[i]=f[k]+1;
    51             }
    52         }
    53         if(f[i]>ans)    ans=f[i];
    54     }
    55     printf("%d", ans+1);
    56     return 0;
    57 }
    完整代码
  • 相关阅读:
    防火墙透明模式
    HP管理工具System Management Homepage安装配置
    kbmmw 中JSON 中使用SQL 查询
    kbmmw 中JSON 操作入门
    第一个kbmmw for Linux 服务器
    kbmmw 5.02发布
    kbmmw 5.01 发布
    使用delphi 10.2 开发linux 上的Daemon
    使用unidac 在linux 上无驱动直接访问MS SQL SERVER
    使用delphi 10.2 开发linux 上的webservice
  • 原文地址:https://www.cnblogs.com/formiko/p/4418310.html
Copyright © 2011-2022 走看看