QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#489182#5. 在线 O(1) 逆元qwef_0 0ms0kbC++14409b2024-07-24 18:49:262024-07-24 18:49:26

Judging History

你现在查看的是测评时间为 2024-07-24 18:49:26 的历史记录

  • [2024-11-05 22:02:19]
  • 管理员手动重测本题所有提交记录
  • 测评结果:0
  • 用时:0ms
  • 内存:0kb
  • [2024-07-24 18:49:26]
  • 评测
  • 测评结果:0
  • 用时:0ms
  • 内存:0kb
  • [2024-07-24 18:49:26]
  • 提交

answer

#include "inv.h"
typedef long long ll;
const int N=1.27e8+114,p=998244353;
int a[N];
inline void add(int& a,int b){a=(a+b>=p?a+b-p:a+b);}
void init(int _){
	a[1]=1;
	for(int i=2;i<N;++i) a[i]=(ll)(p-p/i)*a[p%i]%p;
}
int inv(int x){
	for(int i=1,j=x;;++i,add(j,x))
		if(j<N){
			int k=0,o=a[j];
			do{
				if(i&1) add(k,o);
				o=(o>=499122177?o+o-p:o+o);
			}while(i>>1);
			return k;
		}
}

Details


Pretests


Final Tests

Test #1:

score: 0
Time Limit Exceeded

Test #2:

score: 0
Time Limit Exceeded

Test #3:

score: 0
Time Limit Exceeded