zoukankan      html  css  js  c++  java
  • hdu-acm steps 命运

    /*表示刚刚接触dp。这是我接触到的第3道dp题,刚开始以为是要用dfs+dp,后来栈溢出。。。仔细想想,

    其实这道题和数塔差不多,只要每步都得到最优子结构,最后结果一定是最优的。题目的初始化要做好,这样

    可以避免很多的麻烦*/

    #include"iostream"
    #include"stdio.h"
    #include"algorithm"
    #include"string.h"
    #include"cmath"
    #include"queue"
    #include"stdlib.h"
    #define inf -32766
    using namespace std;
    int n,m;
    int dp[25][1005];
    void init()
    {
    for(int i=0;i<=n;i++) {dp[0][i]=inf;dp[i][0]=inf;}
    dp[1][0]=dp[0][1]=0;
    }
    int max(int x,int y)
    {
    return x>y?x:y;
    }
    int main()
    {
    int t;
    cin>>t;
    while(t--)
    {
    cin>>n>>m;
    int i,j,k;
    init();
    for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
    cin>>dp[i][j];
    for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
    {
    int ans=inf;
    for(k=1;k<j;k++)
    {
    if(j%k==0) ans=max(ans,dp[i][k]);
    }
    ans=max(ans,dp[i][j-1]);
    dp[i][j]+=max(ans,dp[i-1][j]); //最优子结构对应最优结果
    }
    cout<<dp[n][m]<<endl;
    }
    return 0;
    }

  • 相关阅读:
    boostrapvalidator
    bootstrap 整理
    emil 的使用
    sass笔记
    sql 语句的优化
    多线程笔记
    mysql笔记
    react
    优雅的创建map/list集合
    spring中路径的注入
  • 原文地址:https://www.cnblogs.com/acm-jing/p/4246095.html
Copyright © 2011-2022 走看看