zoukankan      html  css  js  c++  java
  • 拉格朗日插值

    [f(k) = sum_{i = 1}^{n} y_i prod_{i ot = j} frac{k - x_j}{x_i - x_j} ]

    证明直接带入,假设(k=x_1),那么除了第一项,别的每一项都会有((x_1-x_1))的分子,乘起来都是(0)。而第一项,后面累乘的每项都恰好为(1),所以(f(x_1)=y_1)

    然后如果我们取一段连续的(x_i=i),有

    (S_k(n)=sumlimits_{i=1}^{k+2}S_k(i)prodlimits_{i ot ={j}}dfrac{n-j}{i-j})

    分别把分子、分母拆开,预处理,可以做到(O(k))

    它可以应用到(dp)上。具体的,如果(dp)有一维的值域明显很大,考虑答案是否可以表示为较低次多项式,从而用拉格朗日插值求解。

    具体的,比如CF995F Cowmpany Cowmpensation中,有

    [g_{x,j}-g_{x,j-1}=f_{x,j}=prod_{yin{son_x}}g_{y,j} ]

    那么(g_{i,j})为一个次数不超过(sz_i)的多项式。所以我们只要处理到(g_{1,n+1})即可,不用算到(g_{1,d})

  • 相关阅读:
    Taxes
    Tennis Championship
    Urbanization
    字符串的匹配
    Alyona and a tree
    Alyona and mex
    Alyona and flowers
    Alyona and copybooks
    Subordinates
    线程的暂停、恢复和终止
  • 原文地址:https://www.cnblogs.com/andysj/p/14612493.html
Copyright © 2011-2022 走看看