zoukankan      html  css  js  c++  java
  • poj 1995 Raising Modulo Numbers ——快速幂

    题目链接:http://poj.org/problem?id=1995

    标准的快速幂的题目,唯一需要注意的就是:结果要用long long int。开始不知道,第二个样例怎么也过不了,后来看了书上的代码才知道……
    其实应该想到要用LL的,这种错误应该自己查出来,题目中虽然没有说 Ai, Bi 的范围,但是保险起见,应该用LL啊。惭愧……

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstdlib>
     4 #include <cstring>
     5 #include <cctype>
     6 #include <stack>
     7 #include <queue>
     8 #include <cmath>
     9 #include <algorithm>
    10 #define lson l, m, rt<<1
    11 #define rson m+1, r, rt<<1|1
    12 using namespace std;
    13 typedef long long int LL;
    14 const int MAXN =  0x3f3f3f3f;
    15 const int  MIN =  -0x3f3f3f3f;
    16 
    17 int m;
    18 LL power(LL a, LL k){
    19   LL ans = 1;
    20   while (k){
    21     if (k&1){
    22       ans = (ans * a) % m; k--;
    23     }
    24     k >>= 1; a = (a*a)%m;
    25   }
    26   return ans;
    27 }
    28 int main(void){
    29 #ifndef ONLINE_JUDGE
    30   freopen("1995.in", "r", stdin);
    31 #endif
    32   int t; scanf("%d", &t);
    33   int  a, b, h; LL ans;
    34   while (t--){
    35     scanf("%d%d", &m, &h);
    36     ans = 0;
    37     while (h--){
    38       scanf("%d%d", &a, &b);
    39       ans += (power(a, b)%m);
    40     }
    41     ans %= m;
    42     printf("%lld\n", ans);
    43   }
    44 
    45   return 0;
    46 }
    
    

    有点儿乱……其实代码挺好写的

     
  • 相关阅读:
    RDD, DataFrame or Dataset
    RDD的基础知识
    RDD的源码
    窄依赖与宽依赖&stage的划分依据
    HDFS中的读写数据流
    HDFS的Java API
    使用distcp并行拷贝大数据文件
    Flume+Morphlines实现数据的实时ETL
    磕碰,擦伤了,紧急处理方法
    redis linux 基本命令
  • 原文地址:https://www.cnblogs.com/liuxueyang/p/2996009.html
Copyright © 2011-2022 走看看