Dyt's math [数学, 推式子]

Dyts mathDyt's\ math

, 998244353 :求解下式,对\ 998244353\ 取模:

i=1nCikbi\sum_{i=1}^n C_i^k b^i

k5×105,n1018,2b998244353.k \le 5 \times 10^5, n \le 10^{18},2 \le b \le 998244353.


\color{red}{正解部分}

Fk=i=1nCikbiF_k = \sum\limits_{i=1}^n C_i^k b^i, 则 Fk1=i=1nCik1biF_{k-1} = \sum\limits_{i=1}^n C_i^{k-1} b^i,

bFk1=i=2n+1Ci1k1bibF_{k-1} = \sum\limits_{i=2}^{n+1} C_{i-1}^{k-1} b^i,

bFk=i=2n+1Ci1kbibF_k = \sum\limits_{i=2}^{n+1} C_{i-1}^k b^i,

bFk1+bFk=i=2n+1(Ci1k+Ci1k1)bi=i=2n+1Cikbi=Fk+Cn+1kbn+1C1kb\therefore bF_{k-1}+bF_k = \sum\limits_{i=2}^{n+1}\left(C_{i-1}^k +C_{i-1}^{k-1}\right) b^i = \sum\limits_{i=2}^{n+1}C_i^k b^i = F_k + C_{n+1}^kb^{n+1}-C_1^kb .

Fk=bFk1Cn+1kbn+1+C1kb1b\therefore F_k = \frac{bF_{k-1}-C_{n+1}^kb^{n+1}+C_1^kb}{1-b}

F0=i=1nbi=b(1bn)1b又\because F_0 = \sum_{i=1}^n b^i = \frac{b(1-b^n)}{1-b}

所以可以 O(K)O(K) 得到 FkF_k .


\color{red}{实现部分}

#include<bits/stdc++.h>
#define reg register
typedef long long ll;

const int maxn = 500005;
const int mod = 998244353;

int K;
int B;

ll N;

int Ksm(int a, ll b){int s=1;while(b){if(b&1)s=1ll*s*a%mod;a=1ll*a*a%mod;b>>=1;}return s;}

int main(){
        scanf("%lld%d%d", &N, &B, &K);
        int inv_b = Ksm(B-1, mod-2);
        int Ans = 1ll*B*(Ksm(B, N)-1)%mod*inv_b % mod;
        int C = (N + 1)%mod;
        for(reg int i = 1; i <= K; i ++){
                int C1kb = (i==1)*B;
                Ans = -1ll*B*Ans % mod;
                Ans += 1ll*C*Ksm(B, N+1)%mod;
                Ans -= C1kb;
                Ans %= mod, Ans += mod, Ans %= mod;
                Ans = 1ll*Ans*inv_b % mod;
                C = (N-i+1)%mod*C%mod*Ksm(i+1, mod-2)%mod;
        }
        printf("%d\n", Ans);
        return 0;
}

posted @   XXX_Zbr  阅读(74)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
点击右上角即可分享
微信分享提示