解题思路
dp[i][j][k]表示到长度为i,使用颜色为j,不相同子串有k个时的方案数,求dp数组的过程用回溯暴力一下。剩下就是对应乘上组合数。
代码
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 15;
const int maxm = 105;
const int mod =
dp[i][j][k]表示到长度为i,使用颜色为j,不相同子串有k个时的方案数,求dp数组的过程用回溯暴力一下。剩下就是对应乘上组合数。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 15;
const int maxm = 105;
const int mod =