2021.12.20 模拟赛

计数场。

T1 AGC036F. Square Constraints

zzz 哥哥搬的 nb 题,还不会。

T2 「LibreOJ NOI Round #2」不等关系

zrq 学长讲过的题诶。

只满足 \(\texttt <\) 关系的话,答案是个多重集排列 \(\dfrac{n!}{\prod a_i!}\)。

这样算会让一些 \(\texttt >\) 不满足,考虑容斥,枚举 \(\texttt >\) 的一个子集 \(|T|\) 强制不满足,容斥系数为 \((-1)^{|T|}\)。

关注每选一个 \(\texttt >\) 对容斥系数的贡献,那么可以做一个 DP,\(f_i\) 表示前 \(i\) 个段的 \(\frac{1}{\prod a_i!}\) 乘容斥系数之和。发现转移是半在线卷积,分治 NTT 即可 \(\mathcal O(n\log^2n)\)。

T3 ARC102C. Stop. Otherwise...

对于权值 \(i\),如果 \(i<x\),\(i\) 和 \(x-i\) 只能允许其中一个被选;特别地,\(i=x-i\) 时,这个值至多选一个;其余的值随意选。

设第一类权值对有 \(a\) 个,随意选的权值有 \(b\) 个。

列出式子,

\[\sum_{i=0}^a\binom{a}{i}2^i\sum_{j=i}^n\binom{j-1}{i-1}\left(\binom{n-j+b-1}{b-1}+\binom{n-1-j+b-1}{b-1}\right), \]

可以 \(\mathcal O(n^3)\)。

改一改,

\[\sum_{j=0}^n\left(\binom{n-j+b-1}{b-1}+\binom{n-1-j+b-1}{b-1}\right)(j-1)!\sum_{i=0}^{\min(a,j)}\binom{a}{i}2^i\frac{1}{(i-1)}\frac{1}{!(j-i)!} \]

把 T2 写的 NTT 粘过来就 \(\mathcal O(n^2\log n)\) 了。

幸好给的 \(2000\),简单卡卡常就过了。


下面记录一个更优秀的做法:

  • 考虑二选一权值对的 OGF为 \(1+2x+2x^2+\dots\);
  • 至多选一次的权值的 OGF 为 \(1+x\);
  • 随意选的权值的 OGF 为 \(1+x+x^2+\dots\)。

最后分配 \(n\) 个骰子的权值,答案为

\[[x^n]\left(\frac{1+x}{1-x}\right)^a\cdot (1+x)^{[2|x]}\cdot \left(\frac{1}{1-x}\right)^b \]

\[[x^n]\frac{(1+x)^A}{(1-x)^B} \]

我们知道 \([x^i](1+x)^A=\dbinom{A}{i}\),\([x^i]\dfrac{1}{(1-x)^B}=\dbinom{i+B-1}{B-1}\),每次可以 \(\mathcal O(n)\) 卷积得到单点答案。总复杂度 \(\mathcal O(nK)\)。

上一篇:BZOJ 1677: [Usaco2005 Jan]Sumsets 求和( dp )


下一篇:SpringMVC基础入门,创建一个HelloWorld程序