首页 > 其他分享 >P8290 [省选联考 2022] 填树

P8290 [省选联考 2022] 填树

时间:2022-12-24 09:34:10浏览次数:58  
标签:P8290 省选 多项式 容斥 一次函数 最小值 端点 联考

https://www.luogu.com.cn/problem/P8290

题解

记\(P(l,r)\)表示最小值为\(l\)(至少\(1\)个),其它数在\([l,r]\)的第一问的答案,\(Q(l,r)\)表示最小值为\(l\)(至少\(1\)个),其它数在\([l,r]\)的第二问的答案.发现有强制选的限制,不是很好求,因此可以考虑容斥.

设\(p(l,r)\),\(q(l,r)\)分别表示数字在\([l,r]\)任意取且没有限制的答案.

那么\(P(l,r)=p(l,r)-p(l+1,r)\),\(Q(l,r)=q(l,r)-q(l+1,r)\).

下面考虑如何\(O(n)\)求\(p(l,r)\).

设\(w_u\)表示\(u\)的可能取值的数量,\(f_u\)表示以\(u\)为链的端点,\(u\)的子树中的所有链的方案数,\(sumf_u=\sum_{u \to v}f_v\).

再考虑如何\(O(n)\)求\(q(l,r)\).

设\(s_u\)表示\(u\)的可能的取值的和,\(g_u\)表示以\(u\)为链的端点,\(u\)的子树中的所有链的长度和,\(sumg_u=\sum_{u \to v}g_v\).

这里只给出状态的设计,转移的时候分\(3\)类讨论即可:1.单点\(u\).2.以\(u\)为端点的链.3.经过\(u\)的链.

且这些情况都必须在\(u\)的子树内讨论,这样一定可以做到不重不漏地包含所有的链.

最后答案就是枚举最小值,\(i\),计算所有的\(P(i,i+k)\)和\(Q(i,i+k)\).

\(P(i,i+k)\)的本质是\(n\)个一次函数/常函数相乘,最多是\(n\)次多项式,\(Q(i,i+k)\)的本质是\(n-1\)个一次函数/常函数和\(1\)个二次函数相乘,最多是\(n+1\)次多项式.

因此,它们的前缀分别是\(n+1\)次多项式和\(n+2\)次多项式.

对于每一段,暴力求出\(n+2\)和\(n+3\)个点值再使用拉格朗日插值即可,这样的段数为\(O(4n)\).

总结

考试的时候想到了枚举最小值,但没有想到容斥,还是对容斥的理解不够透彻,不能很快地想到容斥.

考试的时候也观察到了每个点是个分段的一次函数的性质,但由于对多项式不够敏感,且没有第一步暴力容斥的基础,没能想到使用拉格朗日插值.

代码

代码在洛谷上被卡常了,就不放了.

标签:P8290,省选,多项式,容斥,一次函数,最小值,端点,联考
From: https://www.cnblogs.com/yanchengzhi/p/17002031.html

相关文章

  • P8293 [省选联考 2022] 序列变换
    https://www.luogu.com.cn/problem/P8293题解题意转化:将括号序列建成一棵树,操作1相当于把一个点和它的儿子都挂到同一深度的另一个点下面,操作2相当于表示同一深度的......
  • P8292 [省选联考 2022] 卡牌
    https://www.luogu.com.cn/problem/P8292题解先把小于等于\(\sqrt{2000}\)的质数打一个表,发现只有\(14\)个,其中第\(14\)个是\(43\).令前\(14\)个质数为小质数,其它的......
  • 省选11. 字符串
    P3426[POI2005]SZA-Template考虑dp,设\(f(i)\)表示前\(i\)字符所需要的最小印章。\(f(i)\)要么等于\(i\),要么等于\(f(nxt(i))\)。如果存在\(j\geqn-nxt(i)\),......
  • 省选知识点做题记录
    luogu[IOI2014]Wall砖墙题解可以转化为区间取\(min\)和区间取\(max\).规定一下下传标记的顺序推一下式子就行了.[NOIP2013提高组]华容道题解先想到了朴素的......
  • 省选07. 多项式
    P3338[ZJOI2014]力\[\begin{aligned}E_i&=\sum_{j=1}^{i-1}\frac{q_j}{(i-j)^2}-\sum_{j=i+1}^n\frac{q_j}{(i-j)^2}\end{aligned}\]设\(f(x)=q_x\),\(g(x)=x^2\),\(h(......
  • 省选08. 组合计数
    P4091[HEOI2016/TJOI2016]求和有一个重要的通项公式\[\begin{Bmatrix}n\\m\end{Bmatrix}=\sum_{i=0}^{m}\frac{i^n(-1)^{m-i}}{i!(m-i)!}\]\[ans=\sum_{i=0}^{n}\sum......
  • 省选09. 图论
    P2469[SDOI2010]星际竞速可以发现,一个点要么是起点,要么从其它点进入,且每个点最多只会进入一次,出去一次。因此,可以用流量限制每个点被访问一次,用费用计算代价,问题就转化......
  • 省选10. 动态规划
    P3736[HAOI2016]字符合并考虑区间dp+状压dp。设\(dp(l,r,s)\)表示\([l,r]\)合并成\(s\)的最大分数。如果\(r-l+1=len\),那么合并后的长度一定是\(len\bmod{......
  • 省选05. 线性代数
    P6772[NOI2020]美食家先假设没有美食节,容易得到一个矩阵优化的dp。加上美食节过后分成\(k\)段考虑,每段分别矩阵快速幂,时间复杂度为\(O((5n)^3k\logT)\)。这并不......
  • 省选06. 分治
    CF1442DSum设\(dp(i,j)\)表示前\(i\)个数组选\(j\)个元素的最大值。\[dp(i,j)=\max_{k=0}^jdp(i-1,k)+sum(i,k)\]因为数组内的元素单调不降,因此有一个结论,只有一......