摘要: 1.用回溯法的方法分析“最小重量机器设计问题” 1.1 解空间:所有可能的部件-供应商组合的集合 1.2 解空间树: 树的深度为n(n个部件),根节点为第 0 层(未选择任何部件),第i层(1≤i≤n)对应第i个部件的选择 每个节点的分支数为m(当前部件的m个供应商) 叶子节点(第n层)对应一个完整 阅读全文
posted @ 2025-12-20 20:46 杨月涵 阅读(1) 评论(0) 推荐(0)
摘要: 一、选点问题 贪心策略:按区间右端点升序排序,每次选择当前没有被覆盖的区间中最小的右端点作为选点。 具体步骤: 将所有区间按右端点 bi 从小到大排序,初始化计数器和上一个选点位置:count = 1(至少需要一个点),last_point = 第一个区间的右端点 遍历后续每个区间:如果当前区间的左 阅读全文
posted @ 2025-12-20 20:11 杨月涵 阅读(1) 评论(0) 推荐(0)
摘要: 一、数字三角形的动态规划分析 1.1 递归方程式、定义及边界条件 dp[i][j]:从数字三角形顶部(1行1列)到i行j列时的最大路径和。 递归方程式:每一步只能从上方或左上方到达当前位置(从下往上分析时),因此:dp[i][j] = max(dp[i-1][j-1], dp[i-1][j]) + 阅读全文
posted @ 2025-11-18 23:30 杨月涵 阅读(4) 评论(0) 推荐(0)
摘要: 1.找第k小数的分治算法 首先先划分,用快速排序方法,分为三部分。找出基准元素,左子问题都小于基准,右子问题都大于等于基准,返回基准元素下标index,这样我们就能知道每一次排序里的基准元素是第几小的数。 比较index+1和k,若相同,基准元素就是第 k 小数,直接返回;若k<index+1,则第 阅读全文
posted @ 2025-11-02 16:30 杨月涵 阅读(10) 评论(0) 推荐(0)
摘要: 一、编码规范———华为C&C++语言安全编程规范:(基于此课程的部分总结) 1、变量声明应该赋予初值 2、谨慎使用全局变量 3、禁用功能复杂、易用错的函数 4、不要改变操作系统的运行环境(创建临时文件、修改环境变量、创建进程等) 5、严格的错误处理 6、小心处理资源访问过程 7、合理使用调试断言(A 阅读全文
posted @ 2025-09-17 10:55 杨月涵 阅读(14) 评论(0) 推荐(0)