• 动态规划


    实际应用中可以按以下几个简化的步骤进行设计:

        (1)分析最优解的性质,并刻画其结构特征。

        (2)递归的定义最优解。

        (3)以自底向上或自顶向下的记忆化方式(备忘录法)计算出最优值

        (4)根据计算最优值时得到的信息,构造问题的最优解

    动态规划基本框架:

    代码
    for(j=1; j<=m; j=j+1) // 第一个阶段
       xn[j] = 初始值;
    
     for(i=n-1; i>=1; i=i-1)// 其他n-1个阶段
       for(j=1; j>=f(i); j=j+1)//f(i)与i有关的表达式
         xi[j]=j=max(或min){g(xi-1[j1:j2]), ......, g(xi-1[jk:jk+1])};
    
    t = g(x1[j1:j2]); // 由子问题的最优解求解整个问题的最优解的方案
    
    print(x1[j1]);
    
    for(i=2; i<=n-1; i=i+1)
    {  
         t = t-xi-1[ji];
    
         for(j=1; j>=f(i); j=j+1)
            if(t=xi[ji])
                 break;
    }
    

      

  • 相关阅读:
    一个简单的php站点配置
    nginx基本配置
    redis命令大全
    while()
    遍历字符串
    带空格的字符串逆转(简洁版)
    Java Swing 介绍
    java键盘输入
    做一个完整的Java Web项目需要掌握的技能
    biu
  • 原文地址:https://www.cnblogs.com/dingxiaoqiang/p/6869433.html
Copyright © 2020-2023  润新知