2016.4.2 王老师讲课笔记(动态规划)

一.动态规划中的几个点

1.状态(类比于函数),也就是确定要得出最优解最少需要多少个变量,需要确保的是保证变量的数目尽量少,而且得出的最优解正确

2.状态转移(类比于递归的理解):状态转移需要一个递推方程,状态的初值--递推的边界,

因为递归的速度很慢 ,所以我们就把递归变成for循环,可以提高效率,但是for循环的顺序的处理是关键。

3.求解--数组(顺序),记忆化搜索

求解方法一;数组的递推:可以避免递归的慢速,数组的维数就是状态中的参数(所以需要考虑降维的问题),

这种实现方法,for循环的顺序也是关键

求解方法二:记忆化搜索;当求出每个状态的顺序很难确定,那么就用递归,这并不是一般的递归,一般的递归速度慢,就是因为做了大量的重复计算,

使用记忆化搜索,当做到重复计算的时候,就返回之前算过的值,而不是再进行计算,这就是记忆化搜索.(这需要多开一个数组,用空间换取时间)。

4.特征;最优子结构:就是考虑怎么把当前状态拆开的问题?

5.优化:

注意优化的代价一定要小,否则优化就没有什么意义。具体的优化因为题目而异。没有通用的方法。

时间: 2024-11-29 07:17:00

2016.4.2 王老师讲课笔记(动态规划)的相关文章

跟王老师学Java三大特性(一):案例 QuickHit:需求分析

项目案例:QuickHit:需求分析 主讲教师:王少华   QQ群号:483773664 学习目标 学会用面向对象思想来进行需求分析 一.需求 根据输入速率和正确率将玩家分为不同级别 级别越高,一次显示的字符数越多,玩家正确输入一次的得分也越高 规定时间内完成规定次数的输入,正确率达到规定要求,则升级 玩家最高级别为6级.初始级别一律为1级 用户错误输入一次,游戏结束 二.面向对象分析 (一) 发现类 玩家(Player)类 游戏(Game)类 级别(Level)类 (二)发现类的属性 1.玩家

跟王老师学注解(三):元注解

跟王老师学注解(三):元注解 主讲教师:王少华   QQ群号:483773664 元注解,是用来修饰其他的注解定义.java.lang.annotation包下提供了4个元注解,分别是@Target注解.@Retention注解.@Documented注解以及@Inherited注解. 一.@Target (一)简介 用于指定被修饰的注解能用于修饰哪些程序元素 @Target注解类型有唯一的value作为成员变量,value的类型为java.lang.annotation.ElementType

跟王老师学MySQL:MySQL数据类型之小数类型

跟王老师学MySQL:MySQL数据类型之小数类型 主讲教师:王少华   QQ群号:483773664 学习内容 小数类型有哪些以及它们的取值范围 定义语法中的M和D的含义 定点型和浮点型的区别 一.简介 MySQL中使用浮点数类型和定点数类型来表示小数. 浮点数类型包括单精度浮点数(FLOAT型)和双精度浮点数(DOUBLE型). 定点数类型就是DECIMAL型. 二.字节数.取值范围 三.定义语法 1 类据类型 (M,D) M:精度,数据的总长度 D:标度,小数点后的长度 注: 小数点不占长

跟王老师学MySQL:MySQL数据类型之字符类型

跟王老师学MySQL:MySQL数据类型之字符类型 主讲教师:王少华   QQ群号:483773664 学习内容: 字符串类型的种类及其特点 char和varchar的异同 字符串类型是在数据库中存储字符串的数据类型. 字符串类型包括 CHAR. VARCHAR BLOB TEXT 一.char和varchar (一)定义语法 1 字符串类型 (M) 注: 字符串类型:char或varchar M:指定了该字符串最大长度 (二)二者不同之处 char类型长度是固定的,即在创建表时就指定了,其长度

跟王老师学MySQL:MySQL数据类型之日期与时间类型

跟王老师学MySQL:MySQL数据类型之日期与时间类型 主讲教师:王少华   QQ群号:483773664 学习内容 YEAR类型的特点及使用 TIME类型的特点及使用 DATE类型的特点及使用 DATETIME类型的特点及使用 TIMESTAMP类型的特点及使用 MySQL表示日期和时间的数据类型有以下几种: 1.YEAR类型 2.TIME类型 3.DATE类型 4.DATETIME类型 5.TIMESTAMP类型 一.Year类型 (一)简介 year使用一个字符串来表示年份 MySQL中

跟王老师学MySQL:MySQL数据类型常见问题及解答

跟王老师学MySQL:MySQL数据类型常见问题及解答 主讲教师:王少华   QQ群号:483773664 学习内容 整数类型和浮点类型的异同 浮点数类型和定点数类型的异同 char和varchar类型的异同 时间和日期类型的异同 text和blob的异同 存储路径字符串的注意事项 mysql如何存储boolean类型 null的处理 在MySQL中创建表时,需要考虑为字段选择哪种数据类型是最合适的.选择了合适的数据类型,会提高数据库的效率. 一.整数类型和浮点类型 整数类型和浮点类型最大区别是

跟王老师学MySQL:MySQL数据类型之整数类型

跟王老师学MySQL:MySQL数据类型之整数类型 主讲教师:王少华   QQ群号:483773664 MySQL的数据类型包括整数类型.浮点数类型.定点数类型.日期和时间类型.字符串类型和二进制数据类型. 学习目标 整型包括哪些类型以及它们的取值范围 以tinyint为例,讲解了定义整型的三个属性 一.简介 整数类型是数据库中最基本的数据类型. 标准SQL中支持INTEGER和SMALLINT这两类整数类型. MySQL数据库除了支持这两种类型以外,还扩展支持了TINYINT.MEDIUMIN

iOS插件详解之----CLangFormat(代码格式化管理插件)(2016.1.12王彬)

iOS插件详解之----CLangFormat(代码格式化管理)(2016.1.12王彬) 虽然在项目创建和团队组建的初期,我们就把公共约定以及一些规范定下来了,并且由于我们的代码是通过Git来做版本控制的,web上直接就支持Markdown格式的readme文件,可以随时看到最新的版本,但是这种规范只能依靠个人的意识,或者通过代码Review来解决,而且做代码Review的时候,你也不好意思总是写上一堆诸如“这里要加个空格”.“那里要加上换行”的评论吧?如果不管,久而久之,会因为每个人的习惯不

跟王老师学MySQL: 基本查询语句

跟王老师学MySQL: 基本查询语句 主讲教师:王少华   QQ群号:483773664 学习内容 查询语句的基本语法 查询数据指从数据库中获取所需要的数据.MySQL中是使用SELECT语句来查询数据的 一.select的基本语法形式如下 1 2 3 4 5 SELECT  属性列表  FROM  表名 [ WHERE  条件表达式1 ] [ GROUP BY  属性名1  [ HAVING 条件表达式2 ] ] [ ORDER BY  属性名2  [ ASC | DESC ] ] 属性列表: