规划算法/思想规划语言动作表示规划和执行规划的发展趋势攻击规划的发展趋势参考文献TOC 规划算法/思想 1975年之前,大部分是状态空间规划 1975年之后,出现了一些局部规划空间规划,规划空间中的点变成了局部规划 之后出现了 action-ordering 表示方法,这种规划方法描述的是 acti... ...
分类:
其他好文 时间:
2019-11-07 17:38:58
阅读次数:
122
前面写了一些算法题,但是写到后面,发现不怎么系统起来,所以从这一篇开始,我们先着重介绍一下动态规划算法! 我们以题目开门见山. 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 解法一:动态规划思想 思路 首先对数组进行遍历,当前最大连续 ...
分类:
其他好文 时间:
2019-11-05 00:42:26
阅读次数:
85
一、你对动态规划算法的理解: 1、动态规划算法比较难,不过只要多点找题目练习,理解每个题目的基本思想,这类题目还是很容易突破的; 2、可以先找到题目中变量的对应关系,并列出递归方程,思考临界值的问题,并用草稿纸自己走一遍程序,发现递归算法的漏洞,也可以用循环方程解决; 3、除了运用草稿纸,也可以总结 ...
分类:
编程语言 时间:
2019-11-04 00:05:42
阅读次数:
101
动态规划算法的理解: 就是把一个大问题变成很多个小问题,并通过求出小问题的最优解,利用他们的关系逐一求出其他问题的最优解。 动态规划应用于子问题重叠的情况: 第一题的核心代码: dp数组即为“以a[i]为结”的“最长子序列”的长度 第二题的核心代码: dp数组即为从i到j出租站的最少租金 在结对编程 ...
分类:
编程语言 时间:
2019-11-03 19:52:15
阅读次数:
85
一、对动态规划算法的理解 动态规划算法与分治法很相似,相同之处是将原问题分解为若干个子问题,再根据子问题求得原问题的解。不同之处是动态规划的子问题之间不是相互独立的,经常是有重叠的。所以为了避免重复计算,可以制作一个表来记录已经解决的子问题,当再次遇到子问题时,查表即可得到答案。该算法通常用于求解具 ...
分类:
编程语言 时间:
2019-11-03 18:03:05
阅读次数:
86
动态规划 本人对动态规划的理解:我认为动态规划其实就是搜索的一种,但更加优美,速度更高。递归的方式就是老师说的备忘录,其实就是记忆化深搜,但本质上就是通过状态转移进行递推,所以能通过迭代的方式求解,当前问题的最优解依赖于子问题的最优解,于是当最小子问题初始化出答案后就可以一步一步往当前问题递推。妙啊 ...
分类:
其他好文 时间:
2019-11-01 12:47:10
阅读次数:
60
本文索引目录: 一、动态规划的基本思想 二、数字三角形、最大子段和(PTA)递归方程 三、一道区间动态规划题点拨升华动态规划思想 四、结对编程情况 一、动态规划的基本思想: 1.1 基本概念: 动态规划算法简单说,利用拆解问题思想,定义问题状态和状态之间的关系,使得问题能够以递推或者是分治的方式去解 ...
分类:
编程语言 时间:
2019-10-26 15:17:42
阅读次数:
128
1. 实践题目 —— 最大子段和 2. 问题描述 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。要求算法的时间复杂度为O(n)。 3. 算法描述 定义一个函数,返 ...
分类:
编程语言 时间:
2019-10-21 22:14:16
阅读次数:
93
一、实践题目 二、问题描述 (1)题目关键字:n个整数 序列 子段和 最大值 (2)思路:先定义要输入的整数个数n、用来存放整数的数组a[n](算法中200的空间是任意给的,保证运行空间充足)、存放最大子段和的整型变量sum以及循环过程中数值大小会随条件改变用来记录最大子段和的整型变量b。一开始先按 ...
分类:
编程语言 时间:
2019-10-18 22:17:12
阅读次数:
108
csp退役前的做题计划1(真) 因为我太菜了,所以在第一次月考就会退役,还是记录一下每天做了什么题目吧。 任务计划 [ ] Z算法(Z Algorithm) 9.28 "x] ARC061C [たくさんの数式 / Many Formulas" "x] ARC061D [すぬけ君の塗り絵 / Snuk ...
分类:
其他好文 时间:
2019-09-29 23:37:26
阅读次数:
140