Raising Modulo Numbers POJ 1995(快速幂模板)

原题

题目链接

题目分析

快速幂模板题,依题意套个求模快速幂,然后答案边加边模即可.

代码

 1 #include <cstdio>
 2 #include <cstdlib>
 3 #include <iostream>
 4 #include <algorithm>
 5 #include <utility>
 6 #include <ctime>
 7 #include <cmath>
 8 #include <cstring>
 9 #include <string>
10 #include <stack>
11 #include <queue>
12 #include <vector>
13 #include <set>
14 #include <map>
15
16 using namespace std;
17 typedef long long LL;
18 const int INF_INT=0x3f3f3f3f;
19 const LL INF_LL=0x3f3f3f3f3f3f3f3f;
20
21 LL q_power(LL a,LL b,LL mod)
22 {
23     LL res=1;
24     a%=mod;
25     while(b)
26     {
27         if(b&1) res=(res*a)%mod;
28         a=(a*a)%mod;
29         b>>=1;
30     }
31     return res;
32 }
33
34 int main()
35 {
36 //    freopen("black.in","r",stdin);
37 //    freopen("black.out","w",stdout);
38     int t;
39     scanf("%d",&t);
40     while(t--)
41     {
42         int m,h;
43         scanf("%d %d",&m,&h);
44         LL res=0;
45         for(int i=0;i<h;i++)
46         {
47             LL a,b;
48             scanf("%lld %lld",&a,&b);
49             res=(res+q_power(a,b,m))%m;
50         }
51         printf("%lld\n",res);
52     }
53     return 0;
54 }

原文地址:https://www.cnblogs.com/VBEL/p/11444673.html

时间: 2024-08-27 01:44:33

Raising Modulo Numbers POJ 1995(快速幂模板)的相关文章

Raising Modulo Numbers 取模+快速幂

Raising Modulo Numbers 题目地址:http://poj.org/problem?id=1995 Description People are different. Some secretly read magazines full of interesting girls' pictures, others create an A-bomb in their cellar, others like using Windows, and some like difficult

POJ1995 Raising Modulo Numbers【整数快速幂】

题目链接: http://poj.org/problem?id=1995 题目大意: N个人在一起玩游戏,每个人默写两个数字Ai.Bi,在同一个时间公开给其他玩家看.游戏的目的是 为了看谁能够在最快的时间求出所有的Ai^Bi的和对M取模的值.那么问题来了:你能够快速算出 (A1B1+A2B2+ ... +AHBH)mod M 的值吗? 思路: 用二分整数快速幂算法计算出每一个Ai^Bi,然后依次相加取模. AC代码: #include<iostream> #include<algorit

C - Raising Modulo Numbers (POJ - 1995)

- 题目大意 给出数字,求解(A1B1+A2B2+ ... +AHBH)mod M. - 解题思路 简单的快速幂问题,套模板就行了. - 代码 #include<iostream> using namespace std; long long powMod(long long a, long long n, long long p) { long long ans = 1; for (; n > 0; n >>= 1) { if (n & 1) ans = ans *

Raising Modulo Numbers(POJ 1995 快速幂)

Raising Modulo Numbers Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 5934   Accepted: 3461 Description People are different. Some secretly read magazines full of interesting girls' pictures, others create an A-bomb in their cellar, oth

poj 1995 快速幂(裸)

Raising Modulo Numbers Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 9218   Accepted: 5611 Description People are different. Some secretly read magazines full of interesting girls' pictures, others create an A-bomb in their cellar, oth

Pseudoprime numbers POJ 3641(快速幂)

原题 题目链接 题目分析 依题意要先检测p是否为素数,这个可以用埃筛筛出1-sqrt(1e9)的素数,然后判定一下p是否能被这些数整除,不能的话就是素数,否则则为合数.至于a的p次方直接套个快速幂就行了. 代码 1 #include <cstdio> 2 #include <cstdlib> 3 #include <iostream> 4 #include <algorithm> 5 #include <utility> 6 #include &

POJ 1995 Raising Modulo Numbers(快速幂)

嗯... 题目链接:http://poj.org/problem?id=1995 快速幂模板... AC代码: 1 #include<cstdio> 2 #include<iostream> 3 4 using namespace std; 5 6 int main(){ 7 long long N, M, n, a, b, c, sum = 0; 8 scanf("%lld", &N); 9 while(N--){ 10 scanf("%ll

POJ 1995 Raising Modulo Numbers (快速幂模板)

Raising Modulo Numbers Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 4938   Accepted: 2864 Description People are different. Some secretly read magazines full of interesting girls' pictures, others create an A-bomb in their cellar, oth

POJ 1995 Raising Modulo Numbers (数论-整数快速幂)

Raising Modulo Numbers Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 4379   Accepted: 2516 Description People are different. Some secretly read magazines full of interesting girls' pictures, others create an A-bomb in their cellar, oth