m***k 发帖数: 946 | 1 请问这题有什么好的思路?
我能想到的就是,对于n,有2^n个int输出。每个int输出看成一个节点,根据能否彼此
转化(更改一个bit使一个变成另一个)构造一个图。然后求图的最长路径(拓扑排序+
DP)。
这个办法太麻烦了。请教简介高效的解法。 | m***k 发帖数: 946 | 2 擦的。。。想出来了
假设有n-1的答案为:G0, G1, ..., Gn,想得到n的答案,只需要在G0...Gn左边加上一
个0,再把G0...Gn颠倒顺序,在左边加上一个1即可。
举例,n=3, 先求n=2, 为:
00,01,11,10
反序,为:
10,11,01,00
在原序每个元素左边加0,得到
list1: 000,001,011,010
反序左边加1,得到
list2: 110,111,101,100
list1+list2就是答案了。。。
序+
【在 m***k 的大作中提到】 : 请问这题有什么好的思路? : 我能想到的就是,对于n,有2^n个int输出。每个int输出看成一个节点,根据能否彼此 : 转化(更改一个bit使一个变成另一个)构造一个图。然后求图的最长路径(拓扑排序+ : DP)。 : 这个办法太麻烦了。请教简介高效的解法。
|
|