Solution Set - 神奇 NOIP 模拟赛
作者:互联网
「A. 莓良心」 给定 \(\{w_n\}\),对于所有将其划分为 \(k\) 个非空集合的方式,求 \(w_i\times (w_i\text{ 所在集合大小})\) 之和的总和模 \(998244353\) 的值。\(n\le10^6\)。
考虑算每个 \(w_i\) 的贡献次数,首先 \(w_i\) 自己算一次,\(\stir{n}{k}\);任意 \(j\not=i\) 的 \(w_j\) 和 \(w_i\) 放一次时贡献一次,\((n-1)\stir{n}{k-1}\),\(\mathcal O(n)\) 算第二类斯特林数单点值即可。
「B. 尽梨了」 给定 \(\{(a,b)_n\}\),初始时 \(t=0\),每次选一个未选过的 \(i\),令 \(t\leftarrow(a_i+1)(t+1)+b_i\),需要保证此时 \(t\le m\)。求最多能选择的次数。\(n\le2\times10^5\),\(m\le10^9\)。
交换贪心可知确定要选的集合时最优的选取顺序,依此排序后,问题变为从其中依次取子序列。注意到 \(a=0\) 的必然最后选,且按 \(b\) 从小到大选;\(a\not=0\) 每次选择至少有 \(t\leftarrow 2(t+1)\),对于这种情况直接 DP,最后考虑 \(a=0\) 即可。复杂度 \(\mathcal O(n\log m)\)。
「C. 团不过」 有求 \(n\) 堆有标号石子堆,每堆石子数量在 \([1,2^n)\) 且不存在两堆相同数量石子堆时,Nim 先手必胜的方案数。\(n\le10^7\)。
令 \(f_i\) 为仅考虑 \(i\) 堆石子的方案数,显然可以通过下降幂、\(f_{i-1}\) 和 \(f_{i-2}\) 进行转移。复杂度 \(\mathcal O(n)\)。
「D. 七负我」 给定无向图 \(G\),给每个结点赋非负实数权值 \(a_i\),使得 \(\sum a_i=x\),最大化 \(\sum_{(u,v)\in E}a_ua_v\)。\(n\le40\)。
调整法证必然有一种方案,\(a_i>0\) 的结点的导出子图是团,继而发现取最大团最优。这里直接 Meet in Middle 求最大团即可。复杂度 \(\mathcal O(2^{\frac{n}{2}}n)\)。
标签:le10,Set,NOIP,text,复杂度,Solution,newcommand,mathcal,opn 来源: https://www.cnblogs.com/rainybunny/p/15483893.html