当前位置: 代码迷 >> 综合 >> 2019南昌线上选拔赛
  详细解决方案

2019南昌线上选拔赛

热度:84   发布时间:2023-11-02 18:33:26.0

 (打表找规律+前缀异或和)MORE XOR

H.Coloring Game

推出来n大于1时,3^(n-2)*4。

这题让我很是扎心,比赛的时候和队友思路很快就出了,可是提交wa。

后来队友也是找不出错,直接重写了。结果AC,我发现是快速幂中有个权开小了,int改成long long就成了。

#include<bits/stdc++.h>
using namespace std;
const int MOD=1e9+7;
typedef long long ll;ll pow1(ll a,int b,int c){ll ans=1;a=a%c;while(b>0){if(b&1){ans=(ans*a)%c;}a=(a*a)%c;b>>=1;}return ans;
}int main()
{int n;scanf("%d",&n);ll ans;if(n==1) ans=1;else{ans=pow1(3,n-2,MOD);ans=(ans*4)%MOD;}printf("%lld\n",ans);return 0;
}