light oj 1132【矩阵快速幂】/【伯努利数】

本文介绍了一种使用快速幂方法求解自然数幂和的问题。通过构造特定的矩阵来推导公式,并利用二项式定理进行展开,进而实现了高效计算。此外,还探讨了伯努利数的方法及其限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:http://vjudge.net/problem/LightOJ-1132

做快速幂专题做到的题

题意:给定n、k,求自然数的k次幂的和,结果对2^32取模。

分析:
令S(n)=1^k+2^k+…+n^k

有两种做法,看到n^k,想到xiongmao之前说的沈阳的题,通项里有i^4,两题构造方式一样。

由二项式定理,(n+1)^k展开C(k,0)*n^k+C(k,1)*n^(k-1)+…+C(k,k)*n^0,可知(n+1)^k能由

n^k,n^(k-1)…,n^0推出,那么列数为1的矩阵就是 nknk1nk2...n0S(n1) 我们就可以构造一个(k+2)*(k+2)的矩阵 C(k,0)00...0C(k,0)C(k,1)C(k1,0)0...0C(k,1)......C(k2,0).........C(k,k)C(k1,k1)C(k2,k2)...C(0,0)C(k,k)000...00 , 组合数可以打表预处理。

第二种

//前置技能:伯努利数(https://zh.wikipedia.org/wiki/%E4%BC%AF%E5%8A%AA%E5%88%A9%E6%95%B0)***逆元不可求 //待证

// B0=1,C0n+1B0+C1n+1B1+...Cnn+1Bn=0 ;

//那么, Bn=1n+1n1i=0Cin+1Bi

// S(n)=1k+1k+1i=1Cik+1Bk+1i(n+1)i

//可以预处理逆元

mod为2^32 不是素数 预处理不可求逆元 伯努利数似乎不可行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值