圈圈圈圈圈圈圈圈
題目背景:
12.08
省選模擬t3
分析:dp
定義f[i][j]
表示列舉到第
i個家族,有
j個人沒有被匹配,那麼列舉第
i + 1
個家族中有多少人用於和這
j個人匹配,轉移方程:
f[i + 1][j + a[i + 1] - x * 2] += f[i][j] * c(j, x) * c(a[i + 1], x) * x!
意義為,從
a[i + 1]
個人中選出
x個人,從原來剩下的
j個人中選出
x個人,左邊
x個和右邊
x個進行匹配,匹配的方案數是
x!,直接轉移就可以了,複雜度
o(n4)
信仰就好······考場上預處理組合數的時候,有一部分的
c[i][0]
沒有初始化為
1······然後gg了
30分······
source:
/*
created by scarlyw
*/#include #include #include #include #include #include #include #include #include #include #include ///*
templateinline void r(t &x)
//*/
const int maxn = 150 + 5;
const int mod = 998244353;
int n;
long long f[maxn][maxn * maxn], c[maxn * maxn][maxn], a[maxn], js[maxn];
int sum;
inline void add(long long &x, long long t)
int main()
sum += a[i];
}// for (int i = 0; i <= n; ++i, std::cout << '\n')
// for (int j = 0; j <= sum; ++j)
// std::cout << f[i][j] << " ";
std::cout << (f[n][0] + mod) % mod;
return 0;
}
省選模擬(12 08) T2 演藝
演藝 題目背景 12.08 省選模擬t2 分析 最短路 拓撲排序 bitset 雜湊 感覺是本場最難的題 考慮如何為滿足條件的a,b,就是在s t的最短路 dag上,經過a的 s t的方案數與經過b的 s t之和是s t的總方案數,並且 a不能到 b。考慮如何實現,首先我們以 s為起點跑 dijks...
省選模擬賽Day4T3迂迴
problem problem problem problem problem problem problem problem 3 迂迴 tour tour tour tour tour tour 題目描述 題目描述 給定一有向圖,邊長均為 1,求 長度 小於 k的環個數 mod m 保證 有向圖中...
省選模擬賽03 16 T3 超級樹
目錄一棵 k 超級樹 k supertree 可按如下方法得到 取一棵深度為 k 的滿二叉樹,對每個節點向它的所有祖先連邊 如果這條邊不存在的話 例如,下面是乙個 4 超級樹 請統計一棵 k 超級樹 中有多少條不同的簡單有向路徑,對 mod 取模。input 一行兩整數 k,mod。output 一...