zoukankan      html  css  js  c++  java
  • hdu 1160 FatMouse's Speed(dp)

    http://acm.hdu.edu.cn/showproblem.php?pid=1160

    #include <algorithm>
    #include <iostream>
    #include <cstring>
    #include <cstdio>
    #include <queue>
    using namespace std;
    struct Node
    {
        int w,s,id,fa;
    };
    Node mice[1000+10];
    int dp[1000+10];
    
    int cmp(Node a,Node b)
    {
        return a.w<b.w;
    }
    
    int main()
    {
        int i,j,k;
        int cnt=1;
        int t1,t2;
        int ans,ansn;
        while(scanf("%d%d",&t1,&t2)!=EOF)
        {
            if(t1==-1) break;
            mice[cnt].w=t1;
            mice[cnt].s=t2;
            mice[cnt].id=cnt;
            cnt++;
        }
        sort(mice+1,mice+cnt,cmp);
        ans=mice[cnt-1].id;
        ansn=1;
        for(i=1;i<cnt;i++)
        {
            mice[i].fa=i;
            dp[i]=1;
        }
        for(i=cnt-2;i>=1;i--)
        {
            for(j=i+1;j<cnt;j++)
            {
                if(dp[j]+1>dp[i]&&mice[i].w<mice[j].w&&mice[i].s>mice[j].s)
                {
                    dp[i]=dp[j]+1;
                    mice[i].fa=j;
                }
            }
            if(dp[i]>ansn) {ans=i;ansn=dp[i];}
        }
    
        /*
        for(i=1;i<cnt;i++)
        {
            printf("%d %d %d %d
    ",mice[i].w,mice[i].s,dp[i],mice[i].fa);
        }*/
        printf("%d
    ",ansn);
        while(mice[ans].fa!=ans)
        {
            printf("%d
    ",mice[ans].id);
            ans=mice[ans].fa;
        }
        printf("%d
    ",mice[ans].id);
        return 0;
    }
    

      

  • 相关阅读:
    js原型杂谈
    arguments.callee.caller
    $resource
    sql的四种匹配模式
    AMD规范
    module.ngdoc
    angularjs杂谈
    浏览器前缀
    css21规范学习
    <meta>标签
  • 原文地址:https://www.cnblogs.com/sola1994/p/4346083.html
Copyright © 2011-2022 走看看