zoukankan      html  css  js  c++  java
  • 多项式笔记1

    多项式基础

    一个以(x)为变量的多项式定义在一个代数域(F)上,可以写作:

    [A(x) = sum_{i = 0} ^ n a_i x^i ]

    其中(a_i in F)

    对于一个多项式(f(x)),其最高次项的次数为这个多项式的,记作(deg{f})

    多项式加法

    有两个多项式(A(x)和B(x)),且(deg{A} = n,deg{B} = m),那么:

    [C(x) = A(x) + B(x) = sum_{i = 1} ^ {max(n,m)} (a_i +b_i) x ^ i ]

    减法同理。

    多项式的加减法可以在(O(n))的时间复杂度内求出。

    多项式乘法

    有两个多项式(A(x))(B(x)),且(deg{A} = deg{B} = n)

    [C(x) = A(x)B(x) = sum_{i = 0} ^ {n - 1} sum_{j = 0} ^ {n - 1} a_i b_j x^{i + j} = sum_{i = 0} ^ {2n - 2} c_i x ^ i ]

    卷积

    (a,b)是两个数列,那个两个数列的卷积(c)定义为

    [c_k = sum_{i + j = k} a_i b_j Leftrightarrow c_k = sum_{i = 0} ^ k a_i b _{k - i} ]

    多项式的表示

    系数表示法

    对于一个多项式(A(x),deg{A} = n),其系数组成了一个向量(a = (a_0,a_1,a_2,a_3, cdots a_{n - 1}))

    点值表示法

    对于一个多项式(A(x), deg{A} = n),通过选取任意(x_i),形成点的集合:

    [{(x_0,A(x_0)),(x_1,A(x_1)),(x_2,A(x_2)),(x_3,A(x_3)), cdots (x_{n - 1},A(x_{n - 1}))} ]

    转换:

    系数转点值:随机选取(n)个互不相同的(x_0,x_1,x_2,x_3,cdots , x_{n - 1}),并进行计算(A(x_0),A(x_1),A(x_2),A(x_3), cdots ,A(x_{n - 1})),通过霍纳法则,计算(A(x_i))的时间为(O(n)),所以整个算法为(O(n^2))(后面似乎有更快的算法)

    点值转系数:咕了,睡个觉再写。

  • 相关阅读:
    杰我教育-新老学员交流会
    来杰我学IT,好就业
    怎么创建maven项目
    项目开发生命周期
    2015年12月28日,我工作了
    SSH架构图及各部分知识点
    jsp基础大全
    网站创建过程(二)
    网站创建过程(一)
    python+Django+mysql环境搭建
  • 原文地址:https://www.cnblogs.com/luyiming123blog/p/13763572.html
Copyright © 2011-2022 走看看