-
算法第三章作业
3-2 单调递增最长子序列 (25分) 设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。 输入格式: 输入有两行: 第一行:n,代表要输入的数列的个数 第二行:n个数,数字之间用空格格开 输出格式: 最长单调递增子序列的长度 输入样例: 在这里给出一组输入。例如: 5 1 -
算法第三章作业
3-2 单调递增最长子序列 (25分) 设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。 输入格式: 输入有两行: 第一行:n,代表要输入的数列的个数 第二行:n个数,数字之间用空格格开 输出格式: 最长单调递增子序列的长度 输入样例: 在这里给出一组输入。例如: 5 1 -
算法第三章作业
3-3 挖地雷 (25分) 在一个地图上有n个地窖(n≤200),每个地窖中埋有一定数量的地雷。同时,给出地窖之间的连接路径,并规定路径都是单向的,且保证都是小序号地窖指向大序号地窖,也不存在可以从一个地窖出发经过若干地窖后又回到原来地窖的路径。某人可以从任意一处开始挖地雷,然后沿着指出的连接往下挖 -
算法第二章作业
2-5 派 (15分) 我的生日要到了!根据习俗,我需要将一些派分给大家。我有N个不同口味、不同大小的派。有F个朋友会来参加我的派对,每个人会拿到一块派(必须一个派的一块,不能由几个派的小块拼成;可以是一整个派)。 我的朋友们都特别小气,如果有人拿到更大的一块,就会开始抱怨。因此所有人拿到的派是同样 -
动态规划
一、动态规划思想 动态规划的方法有两种,一种是带备忘录的递归,一种是递推求解。递推求解是先自顶向下再自底向上求解,而带备忘录递归则只有自底向上,其效率会更高。 动态规划算法其实就是填表的过程,在填表的过程中不断的比较与择优。 动态规划算法其基本思想也是将原问题分解成若干个子问题,通过求解子问题得到原 -
第三章作业
1. 编辑距离问题 3-4 编辑距离问题 (25分) 设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 将字符串A变换为字符串B所用的最少字符操作数称为字符串A到 B的编辑距离,记为 -
算法第三章作业
题目: 单调递增最长子序列 设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。 递归方程式: dp[i]是从0到n-1 dp[i]表示的是从第1个数字到第i+1个数字的最大递增子序列 dp[i] = max{ dp[j]+1 , dp[i] } (1<i<n && 0 <=j -
算法第三章作业
1.单调递增最长子序列 定义一个b[n]数组记录到达第i个位置时的最长单调递增子序列的长度,全部初始化为1,代表至少递增子序列长度为1 1.1递归方程:b[i] = max(b[j] + 1, b[i]) 1.2 表的维度是1,填表范围为0—n-1,填表顺序为从左往右 1.3算法中存在2个for循环 -
算法第二章上机实践报告
题目:最大子列和 问题描述:给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -
算法第三章作业
1.单调递增最长子序列 3-2 单调递增最长子序列 (25分) 设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。 输入格式: 输入有两行: 第一行:n,代表要输入的数列的个数 第二行:n个数,数字之间用空格格开 输出格式: 最长单调递增子序列的长度 输入样例: 在这里给出一