闲话 24.10.13
闲话
还有不到两周就 csp-j/s 了(
祝大家别挂分(
没有闲话题材了啊!
今日推歌:花朵 by 合目 feat. 诗岸
那些你不要的:拉格朗日……插值?
给定 。给定一个 阶多项式 ,以及 个无重根首一多项式 ,第 个多项式的次数为 。 给定系数, 给定 个根。对每个 求算 。
。
一个高等代数的做法是这样的:令 ,那么其为满足 的 中最短者。而带入 的 个根知道 。则显然通过拉格朗日插值能确定这个最短多项式 。
那么对一般的情况,只需要对 和这 个根运行多点求值,再分别运行快速插值即可。总时间复杂度 ,常数*可能*不是很大。
另一个由古典多点求值算法导出的做法是这样的:注意到对 ,,那么先求出 的多项式形式,把它们排成一排,按照度数之和每次从近似中点先合并,再分治取模即可。总时间复杂度也是 ,常数听说不小。
所以说上面那个做法其实没啥实际作用,而且限制挺大的,比如 都要无重根。当然如果 和需要的信息够特殊,比如能 对 做多点求值,并且不需要求最短多项式的系数而是远点求值,那总复杂度就可以优化到 了。
根据 jjdw 的阐述,我们可以不直接用拉格朗日插值,而且甚至可以不需要无重根的性质。那么我们接下来不使用无重根性质,即 。如果我们能求算每个 ,那么根据多项式 CRT,存在一种方法计算 。那么这种方法是什么呢?
回忆一下多项式 CRT 的构造:取 ,以及 在 意义下的逆元 。那么 。那么要对每个 求算 。首先考虑求算 ,这个直接通过分治树即可得到。接下来考虑求逆。考虑代换 ,容易发现这变换是保度数的,因此我们只需要先求 在模 意义下的逆,然后代换回去即可。
上面的内容摘自 分式分解,给小朋友们做现场的表演。
这个还是 的,分治树那一部分的常数感觉和上面第二个做法没啥区别啊。
然而最重要的一点就是:给定根这个性质太少见了。所以到目前为止这个东西还停留在理性愉悦阶段。
以下是博客签名,与正文无关。
请按如下方式引用此页:
本文作者 joke3579,原文链接:https://www.cnblogs.com/joke3579/p/-/chitchat241013。
遵循 CC BY-NC-SA 4.0 协议。
请读者尽量不要在评论区发布与博客内文完全无关的评论,视情况可能删除。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2022-10-13 闲话 22.10.13