首页 > 其他分享 >闲话 23.1.21

闲话 23.1.21

时间:2023-01-21 19:33:56浏览次数:55  
标签:21 新年 闲话 sum ge text 点值 23.1 多项式

闲话

为啥最近在讲解板子呢?
主要是最近过年了 就不动脑子了(

拜年祭!拜年祭!拜年祭!
去 bilibili 233 直播间可以砍很可爱寐寐

大家!除夕快乐!
冒泡排序,选择排序,插入排序,快速排序,堆排序,归并排序,希尔排序,桶排序,基数排序新年帮您排忧解难;
有向图,无向图,有环图,无环图,完全图,稠密图,稀疏图,拓扑图,广义串并联图祝您新年宏图大展;
最短路,最长路,单源路径,多源路径祝您新年路路通畅;
线段树,红黑树,最小生成树,Trie 树,van Emde Boas树祝您新年好运枝繁叶茂;
最大流,网络流,标准输入流,标准输出流,文件输入流,文件输出流祝您新年顺顺流流;
线性动规,区间动规,坐标动规,背包动规,树型动归为您的新年规划精彩;
散列表,哈希表,邻接表,双向链表,循环链表帮您在新年表达喜悦;
\(O(1), O(\log n), O(n), O(n\log n), O(n^2), O(n^3), O(2^n), O(n!)\) 祝大家新年渐进步步高!

下降幂多项式

下降幂多项式是一类形式幂级数,其中占位元 \(k_n(x) = x^{\underline n}\)。具体地,我们定义一个截断在 \(x^{\underline {n + 1}}\) 项的下降幂多项式形如

\[f(x) = \sum_{k = 0}^n a_k x^{\underline k} \]

下降幂多项式是一类有着良好性质的多项式。具体地,我们关注下降幂多项式的前 \(i\) 项点值。要做到这件事,首先需要写出点值的 egf。

\[\begin{aligned} F(x) &= \sum_{i \ge 0} f(i) \frac{x^i}{i!} \\ &= \sum_{i \ge 0} \left(\sum_{k \ge 0} f[k]i^{\underline k} \right)\frac{x^i}{i!} \\ &= \sum_{k \ge 0} f[k]\sum_{i \ge 0} \frac{x^i}{i!} i^{\underline k} \\ &= \sum_{k \ge 0} f[k]\sum_{i \ge 0} \frac{x^i}{(i - n)!} \\ &= \sum_{k \ge 0} f[k] x^n \sum_{i \ge 0} \frac{x^i}{i!} \\ &= \sum_{k \ge 0} f[k] x^n e^x \\ &= e^x \sum_{k \ge 0} f[k] x^n \end{aligned}\]

可以看到,一个下降幂多项式的点值的 egf 就是它系数一一对应的普通多项式卷上 \(e^x\)。
我们不难在 \(O(n)\) 的时间内得到 \(e^x\),因此得到一个下降幂多项式的复杂度就是 \(O(\text M(n))\),常数很小。

这样我们可以轻松做到下降幂多项式卷积。得到点值后就可以按位相乘并消去其中一个系数中带着的阶乘就能得到卷积点值的 egf。然后做逆运算即可,做法就是卷上 \(e^{-x}\),这个也可以 \(O(\text M(n))\) 地得到。

有人把这种操作和逆操作叫做 \(\text{FDT}\) 和 \(\text{IFDT}\)。感觉挺独特?

Submission.

code
signed main() {
	cin >> n >> m;
	A.resize(n + m + 1), B.resize(n + m + 1), E.resize(n + m + 1);
	rep(i,0,n) cin >> A[i]; rep(i,0,m) cin >> B[i];
	rep(i,0,n+m) E[i] = gifc(i);
	A *= E, B *= E; A.resize(n + m + 1), B.resize(n + m + 1);
	for (int i = 0; i <= n + m; ++ i)
		A[i] = 1ll * A[i] * B[i] % mod * gfac(i) % mod;
	rep(i,0,n+m) E[i] = ((i & 1) ? mod - gifc(i) : gifc(i));
	A *= E;
	cout << A.slice(n + m) << '\n';
}

然后我们也可以做到普通多项式和下降幂多项式的互相转换。

我们不是能快速得到下降幂多项式的点值嘛,那就应用多点求值技术吧!

普通多项式转下降幂多项式的话,直接多点求值得到前 \(n\) 项系数,然后做 \(\text{IFDT}\) 即可。Submission.
下降幂多项式转普通多项式的话,直接做 \(\text{FDT}\) 得到系数,然后快速插值即可。这一步由于是连续点值所以可以应用性质得到更快的做法,不用直接上板子。Submission.

直接做的复杂度是 \(O(\text M(n)\log n)\) 的,还是有点劣的。

板子之后再封装一下吧。可以用我的首页链接查看!

标签:21,新年,闲话,sum,ge,text,点值,23.1,多项式
From: https://www.cnblogs.com/joke3579/p/chitchat230121.html

相关文章

  • 最完美WIN11_Pro_22H2.22623.1180软件选装纯净版VIP38.8
    【系统简介】=============================================================1.本次更新母盘来WIN11_Pro_22H2.22623.1180。进一步优化调整。2.不支持更新,更新后精简版更新......
  • 2023年1月21 大年三十
    在一个弱省弱市,资源几近于零,只能凭着运气在网上东一点西一点拼凑,全凭自学,费了别人几倍的力气总算是入了一点门,算来几个月时间只学到一点皮毛,据说普及组相对容易,看再努力一......
  • 2023.1.21 app后端pyinstaller启动
    1.打包后会在dist文件夹中暂时生成一个新的文件目录,点击app.exe后也是在这个暂时的文件目录下读取文件的,所以需要以下代码拷贝添加原始项目中的文件pyinstaller-Dapp.p......
  • 力扣 - 1219. 黄金矿工
    思路:       本题要找到获取到黄金的最大价值,也就是找到一条连续的每一个节点不为0的路径相加和的最大值。    那需要解决两个问题:    ......
  • 上市公司绿色专利申请数据(绿色创新数据1)(1990-2021)
    上市公司绿色专利申请数据(绿色创新数据1)(1990-2021)上市公司绿色专利申请数据(绿色创新数据1)(1990-2021)上市公司绿色专利申请数据(绿色创新数据1)(1990-2021) 最新版数据已整......
  • x210-2023-01-20
    1、三星S5PV210手册GPJ0CON寄存器是4bit对应一个pin脚的,所以GPJ0CON[7]~GPJ0CON[0]刚好平分32bit,但这里不是要说的重点,而是GPJ0DAT[7:0],因为到了19-ARM硬件接口GPIO4,如果......
  • 【五期李伟平】CCF-A(CCS'21)Simple, Fast Malicious Multiparty Private Set Intersect
    OfriNevo,NiTrieuandAvishayYanai."Simple,FastMaliciousMultipartyPrivateSetIntersection."InProceedingsofthe2021ACMSIGSACConferenceonComp......
  • 闲话 23.1.20
    闲话明天就过年了!明天很可能没有闲话那就在这里祝每个我闲话的读者新年快乐吧!新年一定要快乐啊!首先得快乐才能想接下来的事呢!中午打了打《德军总部·新秩序》深感现......
  • 力扣每日一题2023.1.20---1817. 查找用户活跃分钟数
    给你用户在LeetCode的操作日志,和一个整数k。日志用一个二维整数数组logs表示,其中每个logs[i]=[IDi,timei]表示ID为IDi的用户在timei分钟时执行了某个操作......
  • P7518 [省选联考 2021 A/B 卷] 宝石
    非常有意义的一道题,虽然不算太难。非常好题目,英雄联盟,爱来自瓷器。戳我看题题意给一定一个\(n\)个点的树,每个点有一个颜色,点\(u\)的颜色为\(w_u\)。给定一个\(P_......