我是靠谱客的博主 年轻蛋挞,这篇文章主要介绍第三次周赛G题(POJ-1995),现在分享给大家,希望可以做个参考。

问题链接:https://vjudge.net/problem/POJ-1995

问题简述:求(A1B1+A2B2+ … +AHBH)mod M的值。

Point:用快速幂计算。

Get:这里用的是分配律:(a+b) mod c=(a mod c+ b mod c) mod c。
相关链接:https://www.cnblogs.com/yexiaozi/p/5698426.html

AC代码:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream> using namespace std; long long k(long long a, long long b, long long c) { long long cnt=1; while (b) { if (b % 2) { cnt = cnt * a%c; } b = b / 2; a = a * a%c; } return cnt; } int main() { int i,z,M,H[45000][2]; cin >> z; while (z--) { long long sum = 0; cin >> M>>i; for(int j=0;j<i;j++) { cin >> H[j][0] >> H[j][1]; sum += k(H[j][0], H[j][1], M); } cout <<sum%M<< endl; } }

最后

以上就是年轻蛋挞最近收集整理的关于第三次周赛G题(POJ-1995)的全部内容,更多相关第三次周赛G题(POJ-1995)内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部