ACdream 1007 a+b 快速幂 java秒啊

                              a + b  

( sigma  (ai^x)  )  %  mod

 1 import java.util.*;
 2 import java.math.*;
 3 import java.io.*;
 4 public class Main
 5 {
 6     static BigInteger mod=new BigInteger("10000000007");
 7     public static void main(String[] args)
 8     {
 9         // 对于大量输入,下面方式可能会快一些。
10         Scanner cin=new Scanner(new BufferedInputStream(System.in));
11         int T,n;
12         BigInteger k,sum,x;
13         T=cin.nextInt();
14         while(T-->0)
15         {
16             n=cin.nextInt();
17             k=cin.nextBigInteger();
18             sum=BigInteger.ZERO;
19             for(int i=0;i<n;i++)
20             {
21                 x=cin.nextBigInteger();
22                 sum=sum.add(x.modPow(k,mod)).mod(mod);
23             }
24             System.out.println(sum);
25         }
26         cin.close();
27     }
28 }

      

时间: 2024-08-03 19:21:09

ACdream 1007 a+b 快速幂 java秒啊的相关文章

ACdream 1007 (快速幂)

题目链接 a + b Time Limit: 2000/1000MS (Java/Others)Memory Limit: 128000/64000KB (Java/Others) Problem Description Input Output Sample Input 2 3 1 1 2 3 3 10 1 2 3 Sample Output 6 60074 /*******************************************************************

Acdream 1007 快速幂,模乘法

http://acdream.info/problem?pid=1007 题目大意,给你n个数,输出这n个数的k次方的和,注意最后的结果得是正数. 刚开始因为模乘法没有考虑好,一直死wa不过,后来在模乘法中特判一下,终于ac了. #include<cstdio> typedef long long LL; const LL MOD = 10000000007LL; int n; LL k, temp, sum; LL mul_mod(LL a, LL b) { LL res = 0; int

高精度快速幂(Java版)

1 import java.io.*; 2 import java.math.*; 3 import java.util.*; 4 import java.text.*; 5 6 public class Main { 7 public static void main(String[] args) { 8 Scanner cin = new Scanner(System.in); 9 BigInteger a, b, m, ans; 10 while (cin.hasNext()) { 11

ACM学习历程—HDU 5451 Best Solver(Fibonacci数列 &amp;&amp; 快速幂)(2015长春网赛1007题)

Problem Description The so-called best problem solver can easily solve this problem, with his/her childhood sweetheart. It is known that y=(5+2√6)^(1+2^x).For a given integer x (0≤x<2^32) and a given prime number M (M≤46337) , print [y]%M . ([y] mean

ACdream 1093 女神的正多面体 矩阵快速幂

题目大意:给你三种正多边形,给你起点s,终点e以及最多行走的步数k,问有多少种路径方案(路径中只要有一个顶点不同即视为不同). 题目分析: 可以通过矩阵快速幂求解. 为每个正多边形(最多三个)构建一个邻接矩阵A,然后第K步的方案数即为A^k. 结果即为A^1 + A^2 + A^3 + ...... + A^k. 对于这种形式的矩阵运算,我们可以把它拆分成: k为奇:ans = (A^1 + A^2 + ... + A^(k/2)) + (A^1 + A^2 + ... + A^(k/2)) *

HDOJ 5411 CRB and Puzzle 矩阵快速幂

直接构造矩阵,最上面一行加一排1.快速幂计算矩阵的m次方,统计第一行的和 CRB and Puzzle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 133    Accepted Submission(s): 63 Problem Description CRB is now playing Jigsaw Puzzle. There

HDOJ 4549 M斐波那契数列 费马小定理+矩阵快速幂

MF( i ) = a ^ fib( i-1 ) * b ^ fib ( i )   ( i>=3) mod 1000000007 是质数 , 根据费马小定理  a^phi( p ) = 1 ( mod p )  这里 p 为质数 且 a 比 p小 所以 a^( p - 1 ) = 1 ( mod p ) 所以对很大的指数可以化简  a ^ k % p  == a ^ ( k %(p-1) ) % p 用矩阵快速幂求fib数后代入即可 M斐波那契数列 Time Limit: 3000/1000

HDOJ Kiki &amp; Little Kiki 2 2276【位运算+矩阵快速幂】

Kiki & Little Kiki 2 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2213    Accepted Submission(s): 1137 Problem Description There are n lights in a circle numbered from 1 to n. The left of li

Hdu 4965(矩阵快速幂)

题目链接 Fast Matrix Calculation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 87    Accepted Submission(s): 39 Problem Description One day, Alice and Bob felt bored again, Bob knows Alice is a