Loj#161. 乘法逆元 2
马上就吃饭了写个题解
这个题就是说用了阶乘求逆元的思想
f[i] 前i项a[i]乘积的逆元
真是好题啊
#include<bits/stdc++.h>
#define int long long
using namespace std;
int read(){
int w=1,q=0;char ch=' ';
while(ch!='-'&&(ch<'0'||ch>'9'))ch=getchar();
if(ch=='-')w=-1,ch=getchar();
while(ch>='0'&&ch<='9')q=q*10+ch-'0',ch=getchar();
return w*q;
}
const int N = 5e7+5;
int n, mod = 1e9+7;
int a[N];
inline int ksm(int a, int b) {
int ans = 1, base = a;
while(b) {
if(b & 1) ans *= base, ans %= mod;
base *= base, base %= mod;
b >>=1;
}
return ans % mod;
}
int f[N], g[N];
signed main() {
cin>>n;
for(int i = 1; i <= n; i++)
a[i] = read();
int ans = 0;
g[0] = 1;
for(int i = 1; i <= n ; i++) g[i] = g[i - 1] * a[i] % mod;
f[n] = ksm(g[n], mod - 2);
for(int i = n ; i; i --) f[i - 1] = f[i] * a[i] % mod;
for(int i = 1; i <= n; i++) {
ans *= 998244353, ans %= mod;
ans += (f[i] * g[i - 1]), ans %= mod;
}
cout<<ans;
return 0;
}
我就是我不一样的验货
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验