省選模擬(12 08) T3 圈圈圈圈圈圈圈圈

2021-08-13 19:09:50 字數 1265 閱讀 5801

圈圈圈圈圈圈圈圈

題目背景:

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 一...