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出发的最长路长度,应该如何写状态转移方程呢?第一步只能走到它
的相邻点,因此