zoukankan      html  css  js  c++  java
  • 动态规划_leetcode312解题报告

    #coding=utf-8

    # leetcode 312 解题报告 20190307 找工作期间
    #解题思路
    # 假设初始气球的状态是 [3,1,5,8]

    #、顺向思维
    # 第一步有四个选择:3,1,5,8 ,
    # 第二步有三个选择:…… o(n!)
    # 每一步后 原问题的规模是减少了 ,但是数据的同质性却破坏了:
    # 因为原问题的数组是连续的,子问题的数组不是连续的 这破坏了数据同质性的原则。

    #
    # 所以后面的思路就是 将不连续的数组 转换为连续的数组,这样子问题和原问题
    # 数据结构同质,且数据规模-1,同时其解空间树上有子问题重叠
    # 可以用记忆化递归方式解决,用字典存储状态,字典指是数据的排列状态


    #数据规模递增的思想:
    # [8] -> [5,8] ->[1,5,8] -> [3,1,5,8]
    # 因为子问题与原问题不是同质的,原问题不能利用子问题的最优解,思路限于僵局了。

    # "终局思想"
    # 从解空间树上向上递推 : 关键是状态如何定义 : "生长学习法"
    # 是怎么想到用[i][j] 定义状态的呢?
    # 怎么定义[][]8 []58 …… 这样的状态呢 ?
    # 怎么定义[][]a []ab …… 这样的状态呢?

    # 当只有一个值时, []x[] [][]x 的不同在于 数组的很坐标不同 可以用 s1(i) 表示状态
    # []xx 与 xx[] 和 x[]x 又要如何表示状态呢?s1([l1,r2],[l2,r2],……) 来表示状态
    # 重要的一点是 s2的状态 可以 通过 s1 线性 叠加得到 : 满足状态的递推性。
    # 即 value(s1) -> value(s2) -> value(sn)

    # 原问题得解 :1)记忆化递归
    # 2) 动态规划


    # 1 5 8
    # []58 1[]8 15[]
    # [][]8 []5[] [][]8 1[][] []5[] 1[][]
  • 相关阅读:
    Java 环境变量配置
    C# 怎样判断一个字符串的编码类型
    ASP.NET MVC Razor视图引擎基础语法
    Silverlight 访问外部程序
    Silverlight 换肤的实现
    Silverlight初始动画 加载动画
    Silverlight App中线程同步
    .net反射简介
    FLASH 中文显示乱码
    [原创]开源Word读写组件DocX,通过word模板,导出用户简历使用示例
  • 原文地址:https://www.cnblogs.com/lux-ace/p/10546611.html
Copyright © 2011-2022 走看看