zoukankan      html  css  js  c++  java
  • 第三章作业

    一、对动态规划的理解

    1.基本概念

    动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。

    2.分治法的问题

        子问题是相互独立的,如果子问题不是相互独立,分治法将重复计算公共子问题,效率很低。(自顶向下地计算)

    3.动态规划特点

        把原始问题划分成一系列子问题。

        求解每个子问题仅一次,并将其结果保存在一个表中,以后用到时直接存取,不重复计算,节省计算时间。

        自低向上地计算。

    4.使用动态规划条件

        优化子结构(保证正确性):如果问题的最优解所包含的子问题的解也是最优的,就称该问题具有最优子结构,

        重叠子问题(保证有效性):即子问题之间是不独立的,一个子问题在下一阶段决策中可能被多次使用到。

    二 、编程题递归方程

    7.1

    for(i=2;i<=n;i++)
            {
                max=0;
                for(j=1;j<=i-1;j++)
                {
                    if(m[j]>max&&num[i]>num[j])
                    {
                        max=m[j];
                        m[i]=max+1;
                    }
                }
        }

    7.2

        for(int k=2;k<n;k++)
        {
            for(int i=1;i<=n-k;i++)
            {
                int j=i+k;
                for(int z=i+1;z<=j;z++)
                {
                    int temp=dp[i][z]+dp[z][j];
                    if(dp[i][j]>temp)
                        dp[i][j]=temp;
                }
            }
        }

    三 、结对编程情况

      这次作业没有和队友很好地交流,大部分都得是自己看书完成的。下次作业一定要约上队友一起去学习,互相促进,共同进步。

  • 相关阅读:
    vue 拖拽移动(类似于iPhone虚拟home )
    鼠标事件-MouseEvent【转】
    JS快速排序 希尔排序 归并排序 选择排序
    JS 继承
    Centos6 iptables 防火墙设置【转】
    centos6 mongodb 安装
    操作系统中涉及的各种调度算法
    循环队列
    队列
    栈(C++)
  • 原文地址:https://www.cnblogs.com/icyk/p/9901888.html
Copyright © 2011-2022 走看看