[做题笔记 #4] 拉格朗日插值
原来是拉格朗日插值优化 DP 做题笔记。现在整合了一下。
CF622F The Sum of the k-th Powers
拉插优化前缀和板子 & 线性(连续点)拉插板子。
一个多项式差分后次数
要求的就是前缀和的某一个点值。原来是
上面这些分析能在拉插题中类似地运用(比如在 拉插优化值域 DP 中)。
要用线性(连续点)拉插。
2024.11.1
以下来自 2024.10.8 做题总结。
用了 类似阶乘逆元 的 线性求随意一些数的逆元(离线)。
注意:拉插的式子不能加绝对值(此题我的做法中,其他情况我不知道)。还不知道什么原因。
有负的照样处理非负的阶乘,最后算 ans 的时候乘一个 -1 的幂即可。
CF995F Cowmpany Cowmpensation
拉插优化值域 DP 板子。
总结:这种 DP 的状态里一般附加了很大的值域,要在值域上算前缀和,但中间的一些位置的前缀和是不需要的,我们只想要一些关键点处的前缀和。由初值和 DP 方程发现每排状态的值都是次数不高的多项式,于是用拉插来优化。[这种题的另一种思路是离散化,中间那些被省略的东西用某种方法处理(比如组合数)](?)。
容易写出 DP 式子,也容易自子孙向祖先证明最后的答案是一个次数不高的多项式。
直接对根处的那一排 DP 值拉插即可。
可以去看雨兔的题解,感觉讲得特别清楚易懂。%%%
2024.11.1
P3643 [APIO2016] 划艇
分段拉插优化值域 DP 板子。
用了更好些的线性(连续点)拉插写法:对拉插式子里的分子算前缀乘积和后缀乘积,不用算逆元,而是直接夹出来。
总结:拉插可以为不分段的多项式函数插值。而对于分段的多项式函数,我们把每段端点离散化,在 DP 过程中对每一段分别拉插,DP 的阶段每前进
2024.11.1
P4463 [集训队互测 2012] calc
序列转集合 & 自定顺序 & 拉插优化值域 DP(能锻炼算多项式次数的能力)。
发现序列的顺序对贡献没有影响,于是可以自己安排某种特定的顺序,最后乘一个排列数得到答案。为了方便,此题中我们采用从小到大的顺序。容易写出 DP 方程。发现像是拉插优化值域 DP,考虑多项式的次数是多少。[初始(f[0] 的那一排)是
注意:
- 拉插时把
在已知点值的范围内的情况判掉,防止整出负数。 - 模数较小的时候可能加了它还是负的,此时[应该先 % 再加](?????)(我不太清楚 C++ 负数 % 的机制)。
2024.11.1
原内容
本来想在洛谷题单里找斜率优化 DP 的,然后发现了一个拉格朗日插值优化 DP 的题单,就点进去尝试了一下。
题单。
于是先看了雨兔的题解,学了 CF995F 的做法,然后 A 了这个题。雨兔题解的链接和我的代码见 CF 上的提交记录。现在正在做后面的题。
P3643 [APIO2016] 划艇
转移:
问题是
考虑能不能拉插。
好像我不会。打算之后学。别人的题解。
2024.8.29
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!