摘要:
/* dp[i][j]表示递推到i时,swap的次数为j时的方案数。 i要么单独形成1个循环节,这时不增加swap的次数,要么放到前i-1个数某个数的后面,从而插入到某个循环中,这样swap的次数会+1。 */#include<stdio.h>#include<string.h>typedef unsigned long long LL;int N, K;LL dp[25][25];void prep(){ memset(dp, 0, sizeof(dp)); dp[0][0] = 1; for(int i = 1; i <= 21; i ++) f... 阅读全文