zoukankan      html  css  js  c++  java
  • HDU1160

    题意:给定一些小猫的属性:体重和速度。然后求某些猫顺序的排列,使得体重上升,速度下降,这样的排列尽量长。

    DP+排序

    即:最长下降子序列

    View Code
     1 #include<stdio.h>
     2 #include<algorithm>
     3 #include<string.h>
     4 #include<stack>
     5 using namespace std;
     6 const int maxn = 1005;
     7 struct node{
     8     int w,v,num;
     9 }mouse[ maxn ];
    10 int dp[ maxn ];
    11 int path[ maxn ];
    12 int cmp( node a1,node a2 ){
    13     if( a1.w!=a2.w ) return a1.w<a2.w;
    14     else return a1.v>a2.v;
    15 }
    16 int main(){
    17     int cnt=0;
    18     while( scanf("%d%d",&mouse[ cnt ].w,&mouse[ cnt ].v)!=EOF ){
    19         mouse[ cnt ].num=cnt+1;
    20         path[ cnt ]=-1;
    21         cnt++;
    22     }
    23     sort( mouse,mouse+cnt,cmp );
    24     int max_dp,max_num;
    25     max_dp=max_num=0;
    26     dp[ 0 ]=1;//dp[ 0 ]=mouse[ 0 ].v;
    27     for( int i=1;i<cnt;i++ ){
    28         int my_max=0;
    29         for( int j=0;j<i;j++ ){
    30             if( mouse[ j ].v>mouse[ i ].v && my_max<dp[ j ] && mouse[ j ].w!=mouse[ i ].w ){
    31                 my_max=dp[ j ];
    32                 path[ i ]=j;
    33             }
    34         }
    35         dp[ i ]=my_max+1;//dp[ i ]=my_max+mouse[ i ].v;
    36         if( max_dp<dp[ i ] ){
    37             max_dp=dp[ i ];
    38             max_num=i;
    39         }//find the longest, dp[ max_num ] is the ANS
    40     }
    41     stack<int>s;
    42     s.push( mouse[max_num].num );
    43     while( path[max_num]!=-1 ){
    44         s.push(mouse[path[max_num]].num);
    45         max_num=path[max_num];
    46     }
    47     printf("%d\n",s.size());
    48     while( !s.empty() ) {
    49         printf("%d\n",s.top() );
    50         s.pop();
    51     }
    52     return 0;
    53 }
    54     
    keep moving...
  • 相关阅读:
    Druid 介绍及配置
    LoadRunner性能测试入门教程
    Java 程序员必须收藏的资源大全
    JProfiler 入门教程
    Web网站的性能测试工具
    职场中必须知道的8条规则
    作为测试人员需要的技能和工作要求
    web性能监控与分析
    Java应用常用性能分析工具
    mockito简单教程
  • 原文地址:https://www.cnblogs.com/xxx0624/p/2887026.html
Copyright © 2011-2022 走看看