茅蒐Rubia
这个作者很懒,什么都没留下…
展开
-
算法分析与设计课后练习26
单源最短路径问题 第一组测试参数 const int n = 6; //图顶点个数加1 int c[n][n] = {{0,0,0,0,0,0}, {0,0,2,3,5000,5000}, {0,5000,0,1,2,5000}, {0,5000,5000,0,9,2}, {0,5000,5000,5000,0,2}, {0,5000,5000,5000,5000,0}}; // 图的邻接矩阵 第二组测试参数 const int n = 5; //图顶点个数加1 int c[][n] = {{0,0,0,0原创 2023-12-19 16:30:45 · 375 阅读 · 0 评论 -
算法分析与设计课后练习25
用FIFO分枝限界算法求解下面的0-1背包问题,并画。用LC分枝限界算法求解下面的0-1背包问题,并画出。出所生成的状态空间树。所生成的状态空间树。原创 2023-12-18 20:56:41 · 476 阅读 · 0 评论 -
算法分析与设计课后练习24
(1)应用FIFOBB求使总罚款数最小的可行作业集J, 求出。(2)应用LCBB求使总罚款数最小的可行作业集J, 求出对。对应于最优解的罚款值,并画出状态空间树(采用大。应于最优解的罚款值,并画出状态空间树(采用大小。原创 2023-12-18 11:18:29 · 664 阅读 · 0 评论 -
算法分析与设计课后练习23
求下面的0-1背包问题。原创 2023-11-21 21:09:49 · 232 阅读 · 0 评论 -
算法分析与设计课后练习22
设W=(5,7,10,12,15,18,20)和M=35,使用过程SUMOFSUB找出W种使得和数等于M的全部子集并画出所生成的部分状态空间树。原创 2023-11-21 21:06:45 · 342 阅读 · 1 评论 -
算法设计与分析算法实现——动态规划最大子段
状态转移方程dp[i]=max(dp[i-1]+a[i],a[i])——这个状态方程可以发现,使得满足“连续”这一要求的重点在于每个dp[i]都包含了当前元素a[i];使用两个数组start,end分别记录dp[i]的起始数组元素下标start[i]和dp[i]的终止数组元素下标end[i]——方便最后可以最大子段的每个元素;使用max记录dp[i]的最大值,maxi_i记录下标;注意:当所有整数都为负数时,定义最大子段和为0。输入:整数序列a1,a2,…使用动态规划,输入数组是a[n];原创 2023-11-21 14:35:33 · 107 阅读 · 0 评论 -
算法设计与分析算法实现——删数问题
通过棋盘输入一个高精度的正整数n(n的有效位数<=240)去掉其中任意s个数字后,剩下的数字按原左右次序将组成一个新的正整数。变成对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小。那么数组不可进行排序来改变原有序列,易知,想要最后获得的数最小,那么越高位的数(数组下标越小的数)值要越小。首先题目的意思是,在不改变数字原有位置的前提下,删除s个数,使得剩下的数按照原有位置构成的新数字值最小。因此从前向后遍历数组,选择一定范围里最小的数,作为最后新数的高位,同时又要使得后面的数位够用。原创 2023-11-21 11:10:13 · 215 阅读 · 0 评论 -
算法分析与设计课后练习21
某工业生产部门根据国家计划的安排,拟将某种高效率的5台机器,分别分配给A,B,C三个工厂,各工厂在获得不同数量的这种机器后,可以为国家盈利如下表所示。请找出一种5台机器的分配方式,使得这5台机器盈利最大。使用动态规划,令dp[i][j]=max(dp[i-1][j-k]+profit[i][k])为前i个工厂分配j台机器的最大盈利;0≤k≤j,profit[i][k]为第i个工厂分配k台时的利润。原创 2023-11-20 19:35:25 · 373 阅读 · 0 评论 -
算法分析与设计课后练习20
用启发式的方法求0/1背包问题。则Xn={1,1,0,0,1}最大代价为15,背包重量8。原创 2023-11-20 19:29:16 · 94 阅读 · 0 评论 -
算法分析与设计课后练习19
4并且(16-9,14-7)=(7,7)∈S。3且(7-5,7-4)=(2,3)∈S。2且(2-2,3-3)=(0,0)∈S。用序偶的方式求0/1背包问题。中(16,14)∈S。原创 2023-11-20 19:24:56 · 88 阅读 · 0 评论 -
算法设计与分析算法实现——棋盘覆盖问题
的子棋盘,这样划分后,由于原棋盘只有一个特殊方格,所以,这4个子棋盘中只有一个子棋盘包含该特殊方格,其余3个子棋盘中没有特殊方格。为了将这3个没有特殊方格的子棋盘转化为特殊棋盘,以便采用递归方法求解,可以用一个L型骨牌覆盖这3个较小棋盘的会合处,从而将原问题转化为4个较小规模的棋盘覆盖问题。递归地使用这种划分策略,直至将棋盘分割为1×1的子棋盘。要用图2中的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何两个L型骨牌不得重叠覆盖。这是分治法的典型问题,k>0时,可将2。原创 2023-11-20 19:17:01 · 158 阅读 · 0 评论