首页 > 其他分享 >拉格朗日插值优化 $dp$

拉格朗日插值优化 $dp$

时间:2022-09-25 23:33:47浏览次数:69  
标签:拉格朗 Cowmpany 插值 多项式 优化 dp

拉格朗日插值优化 \(dp\)

目录

拉格朗日插值

对于一个 \(n+1\) 次多项式 \(f(x)\),若它经过 \(n\) 个点 \((x_1,y_1)\sim(x_n,y_n)\)

设其基本多项式:

\[\ell_i(x)=y_i\prod_{j=0,j\ne i}^n\dfrac{x-x_j}{x_i-x_j} \]

你会发现这个多项式经过 \((x_i,y_i)\) 和 \(\forall j\ne i\) \((x_j,0)\),我们把所有这些加起来就会得到经过 \(n\) 个点的多项式 \(f(x)\):

\[f(x)=\sum_{i=0}^n\ell_i(x) \]

for(int i=1;i<=n;++i){
	int s1=y[i],s2=1;
	for(int j=1;j<=n;++j){
		if(j==i) continue;
		s1=s1*(k-x[j])%mod;
		s2=s2*(x[i]-x[j])%mod;
	}
	ans+=s1*get_c(s2)%mod;
    ans=(ans+mod)%mod;
}

CF995F Cowmpany Cowmpensation

设 \(f_{x,i}\) 表示以 \(x\) 为根的子树用值域 \([1,i]\) 染色的方案数,则有:

\[f_{x,i}=f_{x,i-1}+\prod_{y\in son(x)} f_{y,i} \]

直接 \(dp\) 复杂度是 \(O(n\cdot d)\) 的

那么我们就需要一个重要的结论

重要结论

设 \(x\) 的子树大小为 \(sz_x\),则 \(f_{x,i}\) 是关于 \(sz_x\) 的 \(n\) 次函数 (\(0\sim n-1\))

P4463 calc

标签:拉格朗,Cowmpany,插值,多项式,优化,dp
From: https://www.cnblogs.com/into-qwq/p/16729384.html

相关文章

  • 【源码笔记】ThreadPoolExecutor#getTask
    /***Performsblockingortimedwaitforatask,dependingon*currentconfigurationsettings,orreturnsnullifthisworker*mustexitbecauseofanyo......
  • CF238E Meeting Her【DP,最短路】
    传送门显然,如果节点\(u\)不是\(s_i\tot_i\)的必经点,那么在\(u\)等\(i\)号车是没有前途的。类似地,若在\(u\)处上了\(i\)号车,且\(v\)不是\(s_i\tot_i\)......
  • 【源码笔记】ThreadPoolExecutor#runWorker
    /***Mainworkerrunloop.Repeatedlygetstasksfromqueueand*executesthem,whilecopingwithanumberofissues:**1.Wemaystartoutwithanin......
  • 拉格朗日插值原理及实现(Python)
    拉格朗日插值原理及实现(Python)目录拉格朗日插值原理及实现(Python)一.前言二.3种形式的Lagrange插值函数推导1.原始形态的Lagrange插值2.第一形式Lagrange插值3.第二形......
  • WPF获取系统dpi
    WPF获取系统dpivardpiX=(int)typeof(SystemParameters).GetProperty("DpiX",BindingFlags.NonPublic|BindingFlags.Static).GetValue(null,null);vardpiY=(int......
  • 插值查找算法
    简介插值查找算法类似于二分查找,不同的是插值查找每次从自适应mid处开始查找。将折半查找中的求mid索引的公式,low表示左边索引left,high表示右边索引right. key......
  • AdPlus——尺寸单位
    尺寸单位CAD图纸/界面中单位是毫米mm程序中单位是厘米cm使用时://比例除以10#ifndefSYSTEMPROPORTION#definesystemProportion10#endifpile->setPileHigh(leng......
  • 关于区间DP的一点点心得(虽然还是很菜)
    关于区间DP的一点点心得区间DP的数组一般是二维,其状态一般表示区间\((l,r)\)。区间DP在思考的时候是有一定套路的,思考时可以按照如下方式进行思考:这段区间要......
  • dpdk21.11 添加igb_uio模块
    目录IGB_UIO模块两种添加方式零、下载IGB_UIO模块一、直接添加到文件中1.1复制dpdk-kmods/linux/igb_uio/到dpdk-stable-21.11.1/kernel/linux/目录下1.2修改mes......
  • expdp 排除特定表以及query导出部分数据
    在dba日常运维过程经常会用到导出某个schema并排除部分表,或者是某个表里的部分数据这种需求。1.导出schema排除特定表(通过sys导出)特殊字符需要转义,否则会报错expdp\'sy......