zoukankan      html  css  js  c++  java
  • 基础dp

    一  : 0 1 背包 

    设  f [  i ]  [ j ]  表示 选了  i  个物品  容量 为 j  的背包,状态直接转移

    0 - >  V  枚举 和  V  -  > 0  枚举都可

            for(int i=1;i<=n;i++){
                for(int j=0;j<=V;j++){
                    if(w[i]>j)f[i][j]=f[i-1][j];
                    else f[i][j]=max(f[i-1][j],f[i-1][ j - w[i] ]+v[ i ]);
                }
            }
    View Code

    滚动数组 :

    逆序枚举

            memset(f,0,sizeof f);
            for(int i=1;i<=n;i++){
                for(int j=V;j>=w[i];j--){
                 f[j]=max(f[j],f[ j - w[i] ]+v[ i ]);
                }
            }
    View Code

     二 :最长公共子序列 

    设  f [ i  ] [ j ]  表示 枚举到 字符串1 的 i - 1 位  到 字符串2 的 j  - 1 位

    直接转移

            for(int i=1;i<=len1;i++){
                for(int j=1;j<=len2;j++){
                    if(s1[i-1]==s2[j-1]){
                    dp[i][j]=dp[i-1][j-1]+1;
                    }
                    else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
                }
            }
    View Code

     三  :  最长上升子序列

    设   f [ i  ]  表示 第  i  为的最长 上升子序列 ,直接转移

    int LIS()
    {
        dp[1]=1;
        int ans=1;
        for(int i=2;i<=n;i++)
        {
            int m=0;
            for(int j=1;j<i;j++)
            {
                if(dp[j]>m&&a[j]<a[i])
                    m=dp[j];
            }
            dp[i]=m+1;
            if(dp[i]>ans)
                ans=dp[i];
        }
        return ans;
    }
    View Code

    The Triangle

     POJ - 1163 

    设 sum [ i ] [ j ] 表示  从  i  行 j  列走的最大值,那么从上向下递推即可

    for(int j=1;j<=n;j++)sum[n][j]=a[n][j];
        for(int i=n-1;i>=1;i--){
        for(int j=1;j<=i;j++){
        sum[i][j]=a[i][j]+max(sum[i+1][j],sum[i+1][j+1]);
        }
        }
    View Code
  • 相关阅读:
    centos mongodb
    CentOS YUM 安装 TOMCAT6
    Linux切换工作目录命令:cd
    CentOS中JAVA_HOME的环境变量设置
    用Navicat for MySQL 连接 CentOS 6.5
    CentOS上开启MySQL远程访问权限
    centos7下yum安装mysql
    long数值 转换为时间
    安卓开发_浅谈AsyncTask
    ScrollView与ListView的事件冲突
  • 原文地址:https://www.cnblogs.com/littlerita/p/13232521.html
Copyright © 2011-2022 走看看