摘要: 一、最小重量机器设计问题的回溯法分析 问题定义与解空间 问题要求:机器由n个部件组成,每个部件有m个供应商可选,部件i选供应商j的重量为w_ij、价格为c_ij,需在总价格不超过上限C的前提下,使机器总重量最小。 解空间:所有长度为n的供应商选择序列X=(x₁,x₂,...,xₙ),其中x_i∈{1 阅读全文
posted @ 2025-12-20 22:33 yutianyi 阅读(4) 评论(0) 推荐(0)
摘要: 一、选点问题分析 问题核心:给定若干闭区间,选择最少数量的点,使每个区间至少包含一个选点(区间点覆盖问题)。 贪心策略: 1.按区间右端点升序排序; 2.优先选择当前区间右端点作为覆盖点; 3.若后续区间左端点大于上一选点,选择该区间右端点为新覆盖点。核心逻辑是局部最优(选右端点最大化覆盖后续区间) 阅读全文
posted @ 2025-12-20 21:08 yutianyi 阅读(7) 评论(0) 推荐(0)
摘要: 实践报告 按照动态规划法的求解步骤分析作业题目“数字三角形”: 1.1 根据最优子结构性质,列出递归方程式,说明方程式的定义、边界条件 递归方程式:dp[i][j] = triangle[i][j] + max(dp[i-1][j-1], dp[i-1][j]) 状态定义:设 dp[i][j] 表示 阅读全文
posted @ 2025-11-17 23:29 yutianyi 阅读(10) 评论(0) 推荐(0)
摘要: 1.请用自然语言描述找第k小的数的分治算法: 找第 k 小的数的分治算法:选一个基准元素,将数组分为小于、等于、大于基准的三部分。若小于基准的部分长度≥k,就在该部分找;若小于加等于的长度≥k,基准就是答案;否则在大于部分找第 k - 前两部分长度小的数。 2.分析该算法的最好时间复杂度和最坏时间复 阅读全文
posted @ 2025-11-03 13:10 yutianyi 阅读(6) 评论(0) 推荐(0)
摘要: 任务一 C++编码规范 1.使用4个空格进行缩进,禁止使用TAB键。 2.函数之间、变量声明之后、逻辑片段之间需加空行。 3.超过80字符的语句应分行书写,操作符放在新行之首。 4.每行只写一条语句,禁止多个短语句写在同一行。 5.if、for、while等语句必须自占一行,执行语句必须加花括号{} 阅读全文
posted @ 2025-09-14 22:48 yutianyi 阅读(17) 评论(0) 推荐(0)