美文网首页
牛客网小白月赛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