CCF-CSP-2013-12-4有趣的数

时间:2021-04-07 11:04:30   收藏:0   阅读:0

链接:http://118.190.20.162/view.page?gpid=T2

注意:组合数利用杨辉三角形递推O(n)求解后是s[n][m],n是大的值,n为1e5用逆元预处理求解,时间复杂度O(nlogn)

代码:

#include<bits/stdc++.h>

using namespace std;
const int mod=(int)1e9+7;
int s[1005][1005];

int main (){
    int n;
    cin>>n;
    for(int i=0;i<=n;i++)
        for(int j=0;j<=i;j++)//
            if(!j)s[i][j]=1;
        else s[i][j]=(s[i-1][j]+s[i-1][j-1])%mod;
    int ans =0;
    for(int i=2;i<=n-2;i++)
        ans=(ans+1LL*s[n-1][i]*(i-1)*(n-i-1)%mod)%mod;
    cout<<ans;

    return 0;
}


评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!