zhaoxubing

T1 冲刺NOIP2021模拟18 莓良心

容易发现答案和每一个 \(w_i\) 无关,我们只需要求出总和然后计算方案数。

对于每一个数贡献的方案数是相同的,首先是自己的部分就是\(\begin{Bmatrix} n\\k\end{Bmatrix}\)

然后考虑每个数和其他数在一组时都会额外有贡献,考虑将两个数捆绑那么答案是 \((n-1)\times\begin{Bmatrix} n-1\\k\end{Bmatrix}\)

计算只需要以上两个第二类斯特林数就可以完成。

\(\mathcal O(n^2)\) 的计算方式显然不能满足实现,我们需要容斥去求。

\(\begin{Bmatrix} n\\k\end{Bmatrix}=\frac{1}{k!}\times \sum \limits _{i=0}^{k}(-1)^i\times \begin{pmatrix} k\\i\end{pmatrix}\times (k-i)^n\)

后面的幂可以线性递推,复杂度\(\mathcal O(n)\)

T2 冲刺NOIP2021模拟18 尽梨了

考虑两个商店满足\(a_1\times (b_2+1)>a_2\times(b_1+1)\),一定是第一个在前面。

首先根据以上要求排序,然后考虑 \(\mathcal O(n^2)\) 的 dp。设 \(dp_{i,j}\) 为考虑前 i 个,选了 j 个的最小时间。

转移只选要看当前点是否要去选择。

对于 a 不为 0,我们发现时间的增长是指数型的,于是第二维只有 log 级别。

然后考虑 加上 a 为0,此时我们二分,能塞多少塞多少。

然后得到答案。此题重在分析数据。

T3 冲刺NOIP2021模拟18 团不过

考虑求出先手必败的方案数,用总方案减去即可。

\(p_i\)\(2^n-1\) 的 i 次下降幂,这样总方案显然为 \(p_n\)

\(f_i\) 为 i 堆石子先手必败的方案数。我们只需要根据前 i-1 的结果来调整即可。

\[f_i=p_{i-1}-f_{i-1}-f_{i-2}\times(i-1)\times(2^n-i+1) \]

这样递推是减去了前 i-1 为 0 这一位不可取 0,后者是任意 i-2 为 0 然后 这一位会和前面有相同。

T4 冲刺NOIP2021模拟18 七负我

根据调整法答案最大是把时间均分给最大的完全图。

我们只需要找出最大的完全图即可。

meet in middle 。前面 dp ,后面 并出边根据 dp 数组出答案。

分类:

NOIP

技术点:

相关文章: