美文网首页
牛客网小白月赛8 C题

牛客网小白月赛8 C题

作者: 谈的还原性 | 来源:发表于2018-10-21 00:32 被阅读0次

    题目大意

    给你N个人,计算X从1到N的组合数与X之积的和
    题目链接


    分析:

    其实这道题可以演算出X=1,2,3,4的结果,然后从中找出规律
    X=1,Result=1
    X=2,Result=4
    X=3,Result=12
    X=4,Result=32
    Result的值肯定会和X有关系,所以Result的值除以X,就得出1,2,4,8的规律。

    或者

    可以根据题目的意思,推算出计算公式


    image.png

    当然知道规律之后还要用快速幂来取模


    代码:

    #include <iostream>
    #include <math.h>
    using namespace std;
    const int Mod=1000000007;
    typedef long long ll;
    ll m_pow(ll x,ll n)
    {
        if(n==0)
            return 1;
        ll res=m_pow(x*x%Mod,n/2);
        if(n&1)
            res=res*x%Mod;
        return res;
    }
    int main(int argc, char const *argv[])
    {
        ll n;
        cin>>n;
        ll result=m_pow(2,n-1);
        result=(n*result)%Mod;
        cout<<result<<endl;
        return 0;
    }
    

    总结一些常用的数学结论:

    image.png

    相关文章

      网友评论

          本文标题:牛客网小白月赛8 C题

          本文链接:https://www.haomeiwen.com/subject/ocyvzftx.html