解题思路:
快速幂,费马小定理,递推式
注意事项:
数据类型,先转换为long long与long long的数运算,最后转换为int,而不是int 与long long运算再换为int。
参考代码:

#include <iostream>
#include <vector>
#include <set>
#include <string>
#include <map>
#include <queue>
#include <stack>
#include <cstdio>
#include <cstring>//strlen、strcmp 
#include <cmath>
#include <cstdlib>//malloc
#include <algorithm>
using namespace std;


#define maxn 100010
int mod =  998244353;
int x[maxn],y[maxn];
long long quickpow(long long a,int n){
	long long s = 1;
	while(n){
		if(n&1)
			s = s*a%mod;
		a = (a*a)%mod;
		n = n>>1;
	}
	return s;
}
int main() {
	int n;
	long long one = 1;
	scanf("%d",&n);
	for(int i = 1;i <= n;i++){
		scanf("%d%d",&x[i],&y[i]);
	}
	int ans=0,pre=1;
	for(int i = 1;i <= n;i++){
		pre = one*pre * y[n-i+1] % mod 
		* quickpow(y[n-i+1]-x[n-i+1],mod-2)%mod;
		ans = (one*ans + pre)%mod; 
	}
	printf("%d\n",ans);
		
	return 0;
}


点赞(0)
 

0.0分

8 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论