【学习笔记】CF961G Partitions

不难推出式子: ∑ a i ∑ i = 1 n i ( n − 1 i − 1 ) { n − i k − 1 } \sum a_i\sum_{i=1}^ni\binom{n-1}{i-1}\begin{Bmatrix}n-i \\ k-1\end{Bmatrix} aii=1ni(i1n1){nik1}

注意到模数是 1 0 9 + 7 10^9+7 109+7因此正解显然不是多项式。况且多项式对我这个萌新不太友好

奈何我是丝薄

我们要算 ∑ ( i + 1 ) ( n i ) { n − i k − 1 } \sum (i+1) \binom{n}{i}\begin{Bmatrix}n-i\\ k-1\end{Bmatrix} (i+1)(in){nik1}

i + 1 i+1 i+1拆开

显然 ∑ i ( n i ) { n − i k − 1 } = n { n k } \sum i\binom{n}{i}\begin{Bmatrix}n-i\\ k-1\end{Bmatrix}=n\begin{Bmatrix}n\\ k\end{Bmatrix} i(in){nik1}=n{nk}

∑ ( n i ) { n − i k − 1 } = k { n k } + { n k − 1 } \sum \binom{n}{i}\begin{Bmatrix}n-i\\ k-1\end{Bmatrix}=k\begin{Bmatrix}n\\ k\end{Bmatrix}+\begin{Bmatrix}n\\ k-1\end{Bmatrix} (in){nik1}=k{nk}+{nk1}

所以 ∑ ( i + 1 ) ( n i ) { n − i k − 1 } = ( n + k ) { n k } + { n k − 1 } \sum (i+1)\binom{n}{i}\begin{Bmatrix}n-i\\ k-1\end{Bmatrix}=(n+k)\begin{Bmatrix}n\\ k\end{Bmatrix}+\begin{Bmatrix}n\\ k-1\end{Bmatrix} (i+1)(in){nik1}=(n+k){nk}+{nk1}

利用通项公式直接算即可。

坑点:把系数 i i i抄掉了,以及没有考虑到 i = 0 i=0 i=0这一项。于是自闭了一个晚上

我真是纯纯的fw啊

#include<bits/stdc++.h> #define ll long long #define pii pair<int,int> #define fi first #define se second #define pb push_back #define db long double #define cpx complex<db> #define inf 0x3f3f3f3f3f3f3f3f using namespace std; const int mod=1e9+7; int n,K; ll a[200005],fac[200005],inv[200005],res; ll pw(ll x,ll y=mod-2){ ll z(1); for(;y;y>>=1){ if(y&1)z=z*x%mod; x=x*x%mod; }return z; } void init(int n){ fac[0]=1;for(int i=1;i<=n;i++)fac[i]=fac[i-1]*i%mod; inv[n]=pw(fac[n]);for(int i=n;i>=1;i--)inv[i-1]=inv[i]*i%mod; } ll binom(int x,int y){ return fac[x]*inv[y]%mod*inv[x-y]%mod; } ll S(int n,int K){ ll res(0); for(int i=0;i<=K;i++){ if(K-i&1)res=(res-binom(K,i)*pw(i,n))%mod; else res=(res+binom(K,i)*pw(i,n))%mod; }return res*inv[K]%mod; } signed main(){ ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); cin>>n>>K,init(n);for(int i=1;i<=n;i++)cin>>a[i],res=(res+a[i])%mod; res=((n+K-1)*S(n-1,K)+S(n-1,K-1))%mod*res%mod; cout<<(res+mod)%mod; }

__EOF__

本文作者仰望星空的蚂蚁
本文链接https://www.cnblogs.com/cqbzly/p/17530037.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   仰望星空的蚂蚁  阅读(3)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示