用约束构造图

问题描述

我们都知道,给定n个节点和m个边,我们可以使用诸如dfs之类的算法找到从1到n到达的不可能方法。但是考虑一种情况,当我们必须从后端进行时。我的意思是,我们没有办法让x从问题中的1达到n。而且,我们必须找出n个节点和m个边,如果在纸上绘制该图,它就有x个从1到n到达的确切方法

n和m也存在约束。 n

在这样的约束下可以形成图吗?

请注意,图应为无自环的有向无环图。

解决方法

比方说,W(路径数)是2的幂,即2 ^ x。让我们尝试构造一个W路径从1到n的图形。

图形可能如下所示:

1 -> 2,1 -> 3,2 -> 4,3 -> 4
4 -> 5,4 -> 6,5 -> 7,6 -> 7,...

您可以看到,您可以创建小的“菱形”,每个菱形将路径数乘以2。如果数字为2 ^ 62,则需要1 + 3 * 62 = 187个节点和4 * 62 = 248个节点边缘。

现在,假设W = 2 ^ x + 2 ^ y,x

因此,对于任意W,将其重写为2的不同幂的总和,创建一个具有最大幂的菱形图,并添加其他边以添加其余幂。最多需要187个节点(将边缘添加到菱形图中不会影响节点数),最大功率需要248个边缘,其余功率需要61个边缘。它满足您的约束。