傳送門
構造.
首先構造一組2 4的解
00 01 02 03
13 12 11 10
20 21 22 23
33 32 31 30
發現了什麼? 明知故問
我們列舉第二位的數字的時候從小到大遞增,然而列舉第一位的時候卻要一增一減。這就給了我們啟示
先正著列舉第i位的數字,然後在i%2==0的時候正著列舉第i-1位的數字,在i%2==1的時候倒著列舉第i-1位的數字。
當倒著列舉第i位的數字的時候同理,只不過要反過來而已。
這樣問題就解決了。
實際上這就是個找規律爆搜題。只要記錄下當前列舉到哪一位、這一位要正著列舉還是倒著列舉就好了。
大水題。
#include
#include
#include
#include
#include
#include
using
namespace
std;
int p[55],f[55],n,b,i;
int main()
}
bzoj1081 SCOI2005 超級格雷碼
description 著名的格雷碼是指2n個不同n位二進位制數 即0 2n 1,不足n位在前補零 的乙個排列,這個排列滿足相鄰的兩 個二進位制數的n位數字中最多只有乙個數字不同 例如003和001就有乙個數字不同,而003和030有兩個數字不同,不符合條件 例如n 2時,00,01,11,10 就...
BZOJ1081 SCOI2005 超級格雷碼
description 著名的格雷碼是指2n個不同n位二進位制數 即0 2n 1,不足n位在前補零 的乙個排列,這個排列滿足相鄰的兩個二進位制數的n位數字中最多只有乙個數字不同 例如003和001就有乙個數字不同,而003和030有兩個數字不同,不符合條件 例如n 2時,00,01,11,10 就是...
BZOJ 1079 SCOI2008 著色方案
題目 分析 一看就覺得是dp或者直接排列組合公式或者容斥?我就只想到dp的,我們用dp i j 表示前i種顏色,排列出有j對相鄰一樣顏色的方案數。當出現乙個新的顏色時,我們把這個顏色插板法插進去,我們要列舉插入的方式,可能插到相鄰顏色一樣的中間,或者不是,然後進行狀態轉移.具體看 include i...