解题思路:
快速幂,费马小定理,递推式
注意事项:
数据类型,先转换为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分
13 人评分
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:619 |
C语言训练-立方和不等式 (C语言代码)浏览:779 |
【绝对值排序】 (C语言代码)浏览:832 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:793 |
校门外的树 (C语言代码)浏览:988 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:564 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:934 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:624 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:903 |
1014题解浏览:524 |