DAG动态规划 嵌套矩形问题mt图模型

本文介绍了如何使用DAG(有向无环图)模型解决嵌套矩形问题。通过建立矩形之间的嵌套关系图,并寻找最长路径,找到能够尽可能多排列的矩形序列。同时,提到了利用二维数组表和递归思想来解决这个问题。此外,还提及了硬币问题,寻找面值之和为S的硬币组合,求解最小和最大硬币数量。
摘要由CSDN通过智能技术生成

   1.DAG模型 是一种有向无环图:

        嵌套矩形问题:有N个矩形,每个矩形都可以用两个整数a,b表示其长和宽,矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者a<d,b<c。你的任务是选出尽量多的矩形排成一行,使得除了最后一个矩形每一个矩形都可以嵌套在下一个矩形内,如果有多个解,矩形编号的字典序应该尽量小。

        问题分析: 矩形之间的可嵌套关系是一个典型得=的二元关系,二元关系可以用图来建模,如果矩形X可以嵌套在矩形Y中,就从X到Y连一条有向边。这个有向图是无环的。只需要建立图模型,找出最长路径。

此为问题解答的链接  此问题的思路是 通过比较每个矩形来建立一个二维数组表,然后在表的基础上进行判断,然后和递归有关

对G[i][j]表示i的矩形是可以嵌套在表示j的矩形中。然后比较d[i]的路的径和d[j]+1路径大小,(对于加一的表示我的理解是 两个矩形建立一条路径所以加一表示两个矩形)

 点击打开链接

 点击打开链接

 点击打开链接

首先思考“嵌套矩形”。如何求DAG中不固定起点的最长路径呢?仿照数字三角形的做
法,设d(i)表示从结点i出发的最长路长度,应该如何写状态转移方程呢?第一步只能走到它
的相邻点,因此࿱
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值