多校 A 层冲刺 NOIP2024 模拟赛 21

多校A层冲刺NOIP2024模拟赛21

T1 送信卒

签到题

答案显然具有单调性,考虑二分答案,然后使用跑 dj check。

时间复杂度 \(O(nm\log (nm)\log (V))\)

T2 共轭树图

特殊性质,树形 DP

考虑链怎么做,注意到一个性质,一条链上产生在 \(G\),将 \(G\) 中的边放到原树上是不交的,证明考虑反证法构造一个嵌套形式的边是不可能的。

考虑 DP,设 \(f_{x,i}\) 表示考虑以 x 为根的子树,\(x\) 可以考虑向上连 \(i\) 祖先,注意祖先不一定相邻,但是不相邻是不影响方案数的。

转移考虑从下向上枚举祖先转移即可。

\[f_{x,i}=\sum_{j=1}^{i}\prod_{v\in son_x}f_{v,i-(j-1)+1} \]

直接转移是 \(O(n^3)\),优化考虑 \(f_{x,i}\)\(f_{x,i+1}\) 和式之间只会相差一项,可以前缀和优化。

这样时间复杂度就能降低到 \(O(n^2)\)

T3 摸鱼军训

特殊性质,手模,线段树二分

\(p_x\)\(x\) 最初的位置。

对于一个询问考虑三种情况。

  • \(k>n-x\),此时答案显然为 \(x\)

  • \(k\le cnt_{在 x 之前大于 x 的个数}\),此时答案为 \(p_x-cnt\),证明考虑冒泡排序是一个指针维护前缀最大值。

  • \(k>cnt\),首先会进行第二种情况,记 \(k=k-cnt\),此时情况比较复杂,考虑简化一下问题,此时只用考虑与 \(x\) 相比较的大小关系,将小于 \(x\) 看作 \(0\),将大于 \(x\) 看作 \(1\),手模一下发现每次冒泡排序会减去 \(x\) 后面第一个 \(1\),且其他的相对位置不变,所以可以考虑线段树上二分找到位置。

由于第三种情况的问题转化,得离线下来从大到小解决问题。

线段树需要支持单点加,区间求和,树上二分。

时间复杂度为 \(O(n\log n)\)

T4 神奇园艺师

计数题,组合数学,优化式子

注意到每个集合的每个质数的贡献是独立的,且只与指数有关。

考虑怎么计算一个集合的一个质数的贡献。

因为贡献为 \(\min\{\sum_i|r_i-p|\}\),经典结论 \(p\) 为中位数,证明考虑随便选一个位置然后移动计算贡献变化量。

这样太傻了,考虑拆贡献,由于 \(p\) 为中位数,所有小于 p 和大于 p 的个数相等,所以能两两匹配构成一个线段,而这两个的贡献和就为这个线段的长度,所以可以考虑前缀和差分拆贡献,即在中位数左边的贡献为 \(-r_i\) 在中位数右边的贡献为 \(r_i\)( 这样如果没有这个质因子,则不会有贡献 ),考虑分开讨论这两种情况,然后可以枚举两侧的个数乘上组合数即可。这样就能得到一个 \(O(n^3)\) 的做法。

考虑推式子优化。

上式为

\[\sum_a\sum_br_i([a>b]-[a<b])\binom{i-1}{a}\binom{n-i}{b} \]

两个和式的关联太弱了,考虑分讨一种 \(a,b\) 之间的关系然后枚举它们之间的差值( 设为 \(d\) )。

以下为 \(a<b\) 的情况,省略了贡献

\[\begin{aligned} &\sum_{d=1}^{n-i}\sum_{a=0}^{\min(i-1,n-i-d)}\binom{i-1}{a}\binom{n-i}{a+d} \\ =&\sum_{d=1}^{n-i}\sum_{a=0}^{\min(i-1,n-i-d)}\binom{i-1}{a}\binom{n-i}{n-i-a-d} \\ &注意到后面一个和式构成了范德蒙德卷积的形式 \\ =&\sum_{d=1}^{n-i}\binom{n-1}{n-i-d} \\ =&\sum_{d=0}^{n-i-1}\binom{n-1}{d} \end{aligned} \]

同理可以推出 \(a>b\) 的方案数为 \(\sum_{d=0}^{i-2}\binom{n-1}{d}\)

发现上指标不变,所以可以前缀和预处理组合数。

\(s_i=\sum_{d=0}^i\binom{n-1}{d}\),则贡献为 \(r_i(s_{i-2}-s_{n-i-1})\)

由于是指数不会太大,可以使用桶排。

时间复杂度为 \(O(n\log n)\)

p

posted @   Qyun  阅读(99)  评论(3编辑  收藏  举报
相关博文:
阅读排行:
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· 深度对比:PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
点击右上角即可分享
微信分享提示