题解 | 计算系数-NOIP2011提高组复赛

计算系数

https://ac.nowcoder.com/acm/contest/259/A

算法知识点: 组合数,二项式定理

复杂度:

解题思路:

由二项式定理:

因此, 的系数是

时间复杂度分析:

计算的瓶颈在计算 上,对于分母中每个数都需要做一次快速幂,因此总时间复杂度是

C++ 代码:

#include <iostream>
#include <algorithm>
using namespace std; const int mod = 10007;
 
int qmi(int a, int k)
{
    a %= mod;
    int res = 1;
    while (k)
    {
        if (k &1) res = res *a % mod;
        a = a *a % mod;
        k >>= 1;
    }
    return res;
}
 
int main()
{
    int a, b, k, n, m;
 
    cin >> a >> b >> k >> n >> m;
 
    int res = qmi(a, n) *qmi(b, m) % mod;
    for (int i = 1, j = k; i <= n; i++, j--)
    {
        res = res *j % mod;
        res = res *qmi(i, mod - 2) % mod;
    }
 
    cout << res << endl;
 
    return 0;
}


另外,牛客暑期NOIP真题班限时免费报名
报名链接:https://www.nowcoder.com/courses/cover/live/248
报名优惠券:DCYxdCJ
全部评论

相关推荐

dachang盒子:26届秋招必须有实习经历,建议找个实习过度下,同时项目重复率也比较高没有什么难点亮点,我这里有大厂真实的项目可以提供给你学习也可以给你包装大厂实习来提高你的竞争力,感兴趣的话可以私信我或者点我主页简介
你已经投递多少份简历了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务