ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

LGP8290口胡

2022-04-19 20:03:30  阅读:123  来源: 互联网

标签:log 多项式 之积 LGP8290 一段 prod mod


场外选手再次口胡

这种东西如果是链就很好做,并且有链的部分分。。。那么就照着这个方向想想吧。

考虑计算对于一个序列,全部都被填了数字的方案数。

容易发现枚举最大值有很简单的 \(O(nK)\) 做法:

\[\sum_{x=0}^{\infty}\prod_{i=1}^{n}(\min(x+K,r_i)-\max(x,l_i))-\prod_{i=1}^{n}(\min(x+K-1,r_i)-\max(x,l_i)) \]

两部分差的不多,所以只用考虑一边。

并且容易发现这个是点权的 \(0\) 次和,所以先暂且不考虑 \(1\) 次和,做法可以凭感觉确定是类似的(

容易发现,可以把 \(l_i\) 和 \(r_i\) 分成四类贡献。

然后,我们将所有的 \(l_i,r_i,l_i+K,r_i+K,l_i-K,r_i-K\) 全部拉出来排序,每个 \(x\) 能够对应排序后的一段。然后容易发现,一段对一个节点的贡献是固定的。

也就是说,如果 \(x\) 在离散化后的某个区间上,那么一个节点对其的贡献一定是一个和 \(x\) 有关的一次多项式。

于是我们枚举 \(x\) 在哪一段,问题就变成了先对每一段计算多项式,然后计算 一棵树上所有路径的多项式之积之和

这种典中典问题当然是用点分治最好。。。但是模数不是 \(998244353\)。

考虑 NTT 的本质是插值。于是我们就插值。可以知道答案多项式一定是 \(O(n)\) 次的,于是代入 \(O(n)\) 跑一遍拉插就行了。

一棵树上所有路径的点权之积之和,这种典中典问题可以 DP \(O(n+\log mod)\) 解决掉。

复杂度 \(O(n^3+n^2\log mod)\)。

标签:log,多项式,之积,LGP8290,一段,prod,mod
来源: https://www.cnblogs.com/lmpp/p/16167038.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有