- 2
- 0
- 约8.16千字
- 约 47页
- 2019-10-09 发布于湖北
- 举报
分析 每门课程最多只有1门直接先修课,如果我们把课程看成结点,也就是说每个结点最多只一个前驱结点。 如果把前驱结点看成父结点,换句话说,每个结点只有一个父结点。显然具有这种结构的模型是树结构,要么是一棵树,要么是一个森林。 这样,问题就转化为在一个M个结点的森林中选取N个结点,使得所选结点的权值之和最大。同时满足每次选取时,若选儿子结点,必选根结点的条件。 样例分析 如图1,为两棵树,我们可以虚拟一个结点,将这些树连接起来,那么森林就转会为了1棵树,选取结点时,从每个儿子出发进行选取。显然选M=4时,选3,2,7,6几门课程最优。 转化为二叉树 如果该问题仅仅只是一棵二叉树,我们对儿子的分配就仅仅只需考虑左右孩子即可,问题就变得很简单了。因此我们试着将该问题转化为二叉树求解。 图2就是对图1采用孩子兄弟表示法所得到的二叉树 动态规划 仔细理解左右孩子的意义(如右图): 左孩子:原根结点的孩子 右孩子:原根结点的兄弟 也就是说,左孩子分配选课资源时, 根结点必须要选修,而与右孩子无关。 因此,我们设f(i,j)表示以i为根结点的二叉树分配j门课程的所获得的最大学分,则有, 0=kjn, i ∈(1..m) 时间复杂度O(mn2) 样例求解过程:初始f(i,0)=0 f(6,1)=6, f(5,1)=max{1,6}=6, f(7,1)=2 f(4,
您可能关注的文档
最近下载
- SCHMOLL钻孔机操作维修资料6.doc VIP
- 2024秋《汽车理论》参考答案.docx VIP
- 法语日常生活常用语.pdf VIP
- 【高三下】陕西师大附中2025-2026学年度高三第四次模考语文试题含答案.docx
- 医院临床输血申请单.pdf VIP
- JB∕T 13915-2020 塔式起重机 高强度螺栓的预紧与防松.docx VIP
- 村镇建设技术导则.pdf VIP
- 2026年青岛市中考英语试卷(含答案及解析).docx
- (2026秋新版-)人教版九年级上册数学《第二十七章 反比例函数》PPT课件.pptx
- 电力重大事故隐患判定标准及治理监督管理规定 试卷测试题及答案.docx VIP
原创力文档

文档评论(0)