题解 P4936 【Agent1】

· · 题解

我说我看着数据想到了通项公式你信吗。。。

这是真的。。

因为这是一条比赛题。。

快速幂取模运算的模板题

比赛的时候没有想到用快速幂取模 然后只有20分 手动滑稽

我觉得我这应该是全网最短代码

遛了 遛了

#include<bits/stdc++.h>
#define LL long long
#define Mod 1000000007
LL Pow(LL a,LL k){
    if(k==0)
        return 1;
    if(k&1)
        return Pow(a*a%Mod,k/2)*a%Mod;
    return Pow(a*a%Mod,k/2)%Mod;
}
using namespace std;
LL n;
int main (){
    scanf("%lld",&n);
    printf("%lld\n",1ll*(n-2)*Pow(2,n-1)%Mod+1);
    return 0;
}