zoukankan      html  css  js  c++  java
  • gym102129D

    题意

    给定序列({a_i}_{i=1}^k)({b_i}_{i=1}^k)。考虑一个序列({F_i}_{i=1}^infty),满足(n>k):

    [F_n = sumlimits_{i=1}^k a_i F_{n-i} ext{.} ]

    你需要找到一个序列({c_i}_{i=1}^k),其满足(n>b_k):

    [F_n = sumlimits_{i=1}^k c_i F_{n-b_i} ext{.} ]

    (1 leq k leq 128)(1 leq a_i leq 10^9)(1 leq b_1 < b_2 < dots < b_k leq 10^9)

    结果对(10^9+7)取模。

    做法

    令,
    (F(x)=sumlimits_{i=1}^{infty} f_ix^i)(A(x)=1-sumlimits_{i=1}^k a_ix^i)(B(x)=1-sumlimits_{i=1}^k c_ix^{b_i})
    (P(x)=sumlimits_{i=1}^{k}f_ix^i)(Q(x)=sumlimits_{i=1}^{b_k}f_ix^i)

    有,

    [frac{P(x)}{A(x)}=frac{Q(x)}{B(x)}=F(x) ]

    整理,

    [frac{B(x)}{A(x)}=frac{Q(x)}{P(x)} ]

    引理:有解的充要条件为(A(x))(B(x))的因子。

    证明:
    充分性显然。
    考虑证明必要性,假设(C(x)=frac{B(x)}{A(x)})最高有效项(>b_k-k),则一定存在(P(x))使得(P(x)C(x))最高有效项(>b_k),故矛盾。

    那么有(B(x)mod A(x)=0)

    (1-sumlimits_{i=1}^k c_i(x^{b_i}mod A(x))=0)
    (1-sumlimits_{i=1}^k c_i(x^{b_i}mod A(x))=1-sumlimits_{i=1}^k c_isum limits_{j=0}^{k-1}d_{i,j}x^j=0),可以列出(k)个等式,直接高斯消元即可。

    复杂度(O(k^3+k^3log b))(O(k^3+k^2log b)),取决于(x^{b_i}mod A(x))的复杂度。

  • 相关阅读:
    ios lazying load
    ios 单例模式
    ios 消息推送原理
    C#图片闪烁
    C#使窗体不显示在任务栏
    实时监测鼠标是否按下和鼠标坐标
    winfrom窗体的透明度
    C#获取屏幕的宽度和高度
    HDU 5171 GTY's birthday gift 矩阵快速幂
    HDU 5170 GTY's math problem 水题
  • 原文地址:https://www.cnblogs.com/Grice/p/14789774.html
Copyright © 2011-2022 走看看