zoukankan      html  css  js  c++  java
  • CF 964C Alternating Sum

    给定两正整数 $a, b$ 。给定序列 $s_0, s_1, dots, s_n,s_i$ 等于 $1$ 或 $-1$,并且已知 $s$ 是周期为 $k$ 的序列并且 $kmid (n+1)$,输入只给出序列 $s$ 的前 $k$ 项。

    Find out the non-negative remainder of division of $sumlimits_{i=0}^n s_i a{n-i}bi$ by $10^9+9$.

    数据范围

    $ 1le n, a, b le 10^9$
    $ 1le k le 10^5$

    分析

    注意到 $10^9 + 9$ 是一个素数,令 $p = 10^9 + 9$ 。
    问题可化为等比数列求和。公比为 $q = left(dfrac{b}{a} ight)^k$ 。要特别注意 $q = 1 pmod{p}$ 时等比数列的求和公式不再适用。

    比赛时,我第一发提交没有注意到这个点。后来想到这个点,但只想到了 $a = b pmod{p}$ 的情况。其实这并不是使 $q = 1$ 的唯一情况,至少还有一种情况「$a = - b pmod {p}$ 且 $k$ 为偶数」也使得 $q = 1$ 。比赛时我没想到这种情况,到快结束时,把用公式求和换成折半求和才通过的。


    $1-(frac{b}{a})^k $ 在模 $p$ 逆元不存在 $iff$ $1-(frac{b}{a})^k = 0 pmod{p}$ $iff$ $(frac{b}{a})^k = 1 pmod{p}$


    这一段论证真是太蠢了,被自己给蠢哭了
    下面仔细分析一下这个问题
    令 $S = sumlimits_{i=0}^{k-1} s_i a{n-i}bi$ 。考虑 $q e 1pmod{p}$ 的情形。
    求和公式为
    [
    frac{S(1-(frac{b}{a})^{n+1})} {1-(frac{b}{a})^k}
    ]

    分母 $1-(frac{b}{a})^k$ 在模 $p$ 下的逆元一定存在吗?

    答案是肯定的。假设分母在模 $p$ 下的逆元不存在,即 $pmid (a^k - bk)(ak)^{-1}iff pmid (a^k - b^k)$


    总结

    当意识等比数列求和公式有不适用的情况时,应当进一步问自己,「等比数列求和公式不适用的充要条件是什么?」然后就自然会想到「直接去判断 $left(dfrac{b}{a} ight)^k mod p$ 是否等于 $1$」 。

  • 相关阅读:
    HSF原理
    Spring IOC 容器源码分析
    Spring Bean注册和加载
    CAP和BASE理论
    Java内存模型
    Java线程模型
    IO复用、多进程和多线程三种并发编程模型
    无锁编程本质论
    An Introduction to Lock-Free Programming
    安装与配置ironic
  • 原文地址:https://www.cnblogs.com/Patt/p/8900921.html
Copyright © 2011-2022 走看看