码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2021-04-07 11:04:30      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:预处理   mod   lang   return   lse   class   组合数   ret   有趣   

链接: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;
}


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

标签:预处理   mod   lang   return   lse   class   组合数   ret   有趣   

原文地址:https://www.cnblogs.com/abestxun/p/14619703.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!