zoukankan      html  css  js  c++  java
  • hdu 1160 题意 果枫

    题意:第1列单调递增,第2列单调递减,满足这两个要求最长的子序列。

    ac代码:

    View Code
    #include<iostream>
    #include<stack>
    #include<algorithm>
    using namespace std;
    
    struct node{
        int num;//记录输入的顺序
        int weight;
        int rate;
        const bool operator<(struct node &d)const{  //重载小于号,作用:结构体中的元素按weight的升序排列
            return weight<d.weight;
        }
    };
    
    struct node str[1009];
    int f[1009];//f[]:以第i个结束的最长子序列
    stack<struct node>s;
    
    int main(){
        memset(f,0,sizeof(f));
        int n,m;
        int num=0;
        int i,j;
        struct node  temp;
    
        while(cin>>n>>m){ //输入只有一组数据
            temp.num=num+1;
            temp.weight=n;
            temp.rate=m;
            str[num]=temp;
            num++;
        }
    
        int max;
        int mm=-1,k;
        sort(str,str+num);
    
        f[0]=1;
        for(i=1;i<num;i++){        //此程序精华
            max=-1;
            for(j=i-1;j>=0;j--){
                if(str[i].rate<str[j].rate &&str[i].weight>str[j].weight){
                    if(max<f[j]){
                        max=f[j];
                    }
                }
    
            }
            if(max==-1)
                f[i]=1;  
            else
                f[i]=max+1;
            if(mm<=f[i]){
                mm=f[i];
                k=i;
            }
        }
    
    
        s.push(str[k]);
        j=f[k];
        int l=k;
        for(i=l;i>=0;i--){
            if(f[i]==f[k]-1&&s.top().rate<str[i].rate&&s.top().weight>str[i].weight){
                s.push(str[i]);
                k=i;
            }
        }
    
        cout<<s.size()<<endl;
    
        while(!s.empty()){
            cout<<s.top().num<<endl;
            s.pop();
        }
    
    
        return 0;
    }
  • 相关阅读:
    MyBatis自带的逆向工程
    StringUtils.isNotEmpty和StringUtils.isNotBlank的区别
    JS根据身份证号码精确计算年龄和性别
    java根据生日精确计算年龄
    单列模式
    Java事务处理
    数据库连接池
    CRM(四川网脉系统)项目总结
    流的文件操作(File)
    Java的关键字与标识符
  • 原文地址:https://www.cnblogs.com/zgfailmr/p/2676954.html
Copyright © 2011-2022 走看看