社区讨论
re求条必关
P5431【模板】模意义下的乘法逆元 2参与者 2已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @mhjdgfif
- 此快照首次捕获于
- 2025/11/04 00:46 4 个月前
- 此快照最后确认于
- 2025/11/04 00:46 4 个月前
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
int mod=998244353;
int n,a[100000],inv[100000],k,sum,ki=1,b[100000];
int quick_pow(int x,int y)
{
int res=1;
while(y)
{
if(y&1)
{
res=(res*x)%mod;
}
y>>=1;
x=x*x%mod;
}
return res;
}
inline int read()
{
int x=0,f=1;char ch=getchar();
while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
return x*f;
}
signed main()
{
// ios::sync_with_stdio(false);
// cin.tie(0);
cin>>n>>mod>>k;
b[0]=a[0]=1;
for(int i=1;i<=n;i++)
{
a[i]=read();
//cin>>a[i];
b[i]=a[i];
(a[i]*=a[i-1])%=mod;
}
inv[n]=quick_pow(a[n],mod-2);
for(int i=n-1;i>=0;i--)
{
inv[i]=inv[i+1]*b[i+1]%mod;
}
for(int i=1;i<=n;i++)
{
ki=ki*k%mod;
sum+=(ki*a[i-1]%mod*inv[i]%mod)%mod;
}
cout<<sum%mod<<endl;
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...