zoukankan      html  css  js  c++  java
  • CodeForces

    定理:

    {an} 是一个p阶等差数列的充要条件是数列的通项 an 为n的一个p次多项式。

    题意:

     这个表达式等价于一个 k + 1 次多项式。因此可以由拉格朗日插值法求得

    又由于这里的x是连续的,可以预处理前缀后缀O(n)求得。

    ll fac[maxn];
    ll pre[maxn];
    ll suf[maxn];
    
    
    int main() {
        ll n = readll();
        ll k = readll();
        fac[0] = 1ll;
        pre[0] = suf[k + 3] = 1ll;
        for (int i = 1; i <= k + 2; i++)  fac[i] = fac[i - 1] * i % MOD;
        for (int i = 1; i <= k + 2; i++) pre[i] = pre[i - 1] * (n - i) % MOD;
        for (int i = k + 2; i >= 1; i--) suf[i] = suf[i + 1] * (n - i) % MOD;
        ll ans = 0;
        ll y = 0;
        for (int i = 1; i <= k + 2; i++) {
            y = (y + ksm(i, k, MOD)) % MOD;
            ll a = pre[i - 1] * suf[i + 1] % MOD;
            ll b = (fac[i - 1] *((k - i) & 1 ?  -1 : 1) * fac[k + 2 - i]) % MOD;
            b = (b + MOD) % MOD;
            ans = (ans + y * a % MOD * ksm(b, MOD - 2, MOD) % MOD + MOD) % MOD;
        }
        Put(ans);
    }
  • 相关阅读:
    ranorex
    vue.js
    逻辑思维
    laravel-luntan
    python学习--基础
    git
    Laravel-高级篇-Auth-数据迁移-数据填充
    Laravel-高级篇-Artisan
    Laravel-表单篇-零散信息
    Laravel-表单篇-controller
  • 原文地址:https://www.cnblogs.com/hznumqf/p/13471548.html
Copyright © 2011-2022 走看看