社区讨论
不理解(p7158)
学术版参与者 3已保存回复 8
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 8 条
- 当前快照
- 1 份
- 快照标识符
- @m20gkkof
- 此快照首次捕获于
- 2024/10/08 21:10 去年
- 此快照最后确认于
- 2025/11/04 17:37 4 个月前
这里应该使用fastpower快速幂但是应该怎么改(别人的委托我帮他改)
CPP#include<bits/stdc++.h>
#define int unsigned long long
using namespace std;
const int maxn=1e5+5;
int mod=998244353;
int f[maxn][2];
long long fastpower(long long a, long long b, long long p)
{
long long ans = 0;
a = a % p;
while (b > 0)
{
if (b & 1)
{
ans = (ans * a) % p;
}
b = b >> 1;
a = (a * a) % p;
}
return ans;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t,n,k;
n=1e5;
f[1][0]=8;f[1][1]=1;
for(int i=2;i<=n;++i){
f[i][0] = fastpower(f[i-1][1] + f[i-1][0], 9ull, mod);
f[i][1] = fastpower(f[i-1][0] + f[i-1][1], 9ull, mod);
}
cin>>t;
while(t--){
cin>>n>>k;
if(n==1)cout<<9<<endl;
else cout<<f[n][0]<<endl;
}
return 0;
}
回复
共 8 条回复,欢迎继续交流。
正在加载回复...