input

T           <=10

n k            n<=1000         k<=10^18

a1,a2,...an                |ai|<=10^18

output

(a1^k+a2^k+...+an^k)%10^10+7

Sample Input

2

3 1
1 2 3
3 10
1 2 3

Sample Output

6 60074

做法:快速幂+__int128,需注意ai可能是负数,模的是10^10+9,超int了

模乘法:对一个数可以拆分为N=(P*(N/P)+(N%P))

 #include <bits/stdc++.h>
#define MAX 100000
#define LL long long
//#define __int128 long long
#define mod 10000000007LL
using namespace std;
int cas=,T;
template <class T>
bool scanff(T &ret)
{ //Faster Input
char c; int sgn; T bit=0.1;
if(c=getchar(),c==EOF) return ;
while(c!='-'&&c!='.'&&(c<''||c>'')) c=getchar();
sgn=(c=='-')?-:;
ret=(c=='-')?:(c-'');
while(c=getchar(),c>=''&&c<='') ret=ret*+(c-'');
if(c==' '||c=='\n'){ ret*=sgn; return ; }
while(c=getchar(),c>=''&&c<='') ret+=(c-'')*bit,bit/=;
ret*=sgn;
return ;
}
template <class T>
void printff(T ret)
{ //Faster Output
char s[];
if(ret<) { printf("-");ret=-ret; }
int len=;
while(ret)
{
s[++len]=ret%+'';
ret/=;
}
if(!len) s[++len]='';
while(len)
{
printf("%c",s[len]);
len--;
}
}
LL qmod( __int128 a, LL n)
{
__int128 res=;
LL flag=;
if(a<) { flag=(n&?-:);a=-a; }
a%=mod;
while(n)
{
if(n&) res=res*a%mod;
a=a*a%mod;
n>>=;
}
return (LL)res*flag;
}
int main()
{
//freopen("1.in","w",stdout);
//freopen("1.in","r",stdin);
//freopen("1.out","w",stdout);
scanf("%d",&T);
while(T--)
{
int n;
LL k,a,res=;
scanf("%d%lld",&n,&k);
for(int i=;i<n;i++)
{
scanf("%lld",&a);
res=(res+qmod(a,k))%mod;
}
printff((res+mod)%mod);
printf("\n");
}
//printf("time=%.3lf",(double)clock()/CLOCKS_PER_SEC);
return ;
}

ACdream 1007的更多相关文章

  1. ACdream 1007 (快速幂)

    题目链接 a + b Time Limit: 2000/1000MS (Java/Others)Memory Limit: 128000/64000KB (Java/Others) Problem D ...

  2. ACdream 1007 a+b 快速幂 java秒啊,快速幂 避免 负数移位出错

    a + b ( sigma  (ai^x)  )  %  mod 1 import java.util.*; 2 import java.math.*; 3 import java.io.*; 4 p ...

  3. Acdream a + b

    http://acdream.info/problem?pid=1007 两个 long long 相乘会超long long #include <cstdio> #include < ...

  4. SCNU 2015ACM新生赛初赛【1007. ZLM的扑克牌】解题报告

            题目链接详见SCNU 2015新生网络赛 1007. ZLM的扑克牌 .         其实我在想这题的时候,还想过要不要设置求最小的排列,并且对于回文数字的话,可以把扑克牌折起来( ...

  5. PKU 1007

    题名:DNA排序 题意:给定字符串长度.个数,计算每个字符串的逆序数,然后从大到小排列,有兴趣的可以去看下原题. 计算字符串逆序数,然后排序,这里使用了快速排序算法,string释放的时候竟然有问题, ...

  6. sicily 1007. To and Fro 2016 11 02

    // Problem#: 1007// Submission#: 4893204// The source code is licensed under Creative Commons Attrib ...

  7. 【HDU 1007】Quoit Design

    http://acm.hdu.edu.cn/showproblem.php?pid=1007 最近欧式距离模板题. 用分治大法(分治的函数名用cdq纯属个人习惯_(:з」∠)_) 一开始狂M. 后来判 ...

  8. 最近点对问题 POJ 3714 Raid && HDOJ 1007 Quoit Design

    题意:有n个点,问其中某一对点的距离最小是多少 分析:分治法解决问题:先按照x坐标排序,求解(left, mid)和(mid+1, right)范围的最小值,然后类似区间合并,分离mid左右的点也求最 ...

  9. ACdream 1214---矩阵连乘

    ACdream 1214---矩阵连乘 Problem Description You might have noticed that there is the new fashion among r ...

随机推荐

  1. MacOSX 下.app支持同时运行多个实例

    在MacOSX下的.app是一个程序包(实际上是个目录),双击该目录时系统会根据包的目录结构启动相应的可执行程序..app的程序默认是单实例运行的,所以从.app启动的程序实例只有一个(可执行程序不受 ...

  2. Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库

    Ajax实现将xml文件数据插入数据库的过程所涉及到的内容比较多,所以对于该过程的讲解本人打算根据交互的过程将其分为三个部分,第一部分为构建解析xml文件的javascript库,第二部分为ajax与 ...

  3. java中outer的使用

    outer多用于嵌套循环的情况 outer: for (int i = 2 ; i <= 10 ; i++) { for (int j = 2 ; j <=10 ; j++) { if(i ...

  4. js Get中文乱码 转码

    encodeURI  escape post: location.href = "ActivitiesOnSale?CurrId=" + Cid + "&CNam ...

  5. SQLite 约束

    约束是在表的数据列上强制执行的规则.这些是用来限制可以插入到表中的数据类型.这确保了数据库中数据的准确性和可靠性. 约束可以是列级或表级.列级约束仅适用于列,表级约束被应用到整个表. 以下是在 SQL ...

  6. python下实现汉诺塔

    汉诺塔是印度一个古老传说的益智玩具.汉诺塔的移动也可以看做是递归函数. 我们对柱子编号为a, b, c,将所有圆盘从a移到c可以描述为: 如果a只有一个圆盘,可以直接移动到c: 如果a有N个圆盘,可以 ...

  7. jmeter连接数据库

    新建一个 Thread Group: 新增 JDBC Connection Configuration: 点击新增的 JDBC Connection Configuration ,需要修改的参数包括: ...

  8. GridView”的控件 必须放在具有 runat=server 的窗体标记内 “错误提示”

    在做导出数据到EXCEL程序中,出现了错误提示:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记 解决办法  重写 VerifyRendering ...

  9. java中常遇到的问题

    一.乱码问题 =========================================================================================== 方 ...

  10. Haskell Seq函数和严格计算

    参考链接http://stackoverflow.com/questions/11046590/the-seq-function-and-strictness https://wiki.haskell ...