A.dreamstart的催促
2024-09-07 16:11:38
题目描述
有一天集训队的学弟们正在计算一堆数,但是dreamstart感觉他们算的太慢了,就让他们坐在一起想出一个快速计算的方法,但是由于他们一时想不出来,想让你帮助他们。他们说现在有一个数列,要算出第 i 个数的 i 次幂并且把每个数计算出来的值加到一起,最后答案模10000019。
聪明的你可以帮助他们吗?
输入描述
第一行有一个整数n,n <= 1e5
接下来一行有n个数,每个数的大小不超过1e16
输出描述
输出取模之后的和
思路
快速幂取模运算
#include<bits/stdc++.h>
#define LL long long
using namespace std;
const int MAXN = 1e5+;
const int MOD = ;
LL a[MAXN];
int n; LL quick(LL a,LL x)
{
LL r = ;
while(x>)
{
if (x&)
{
r = (r*a)%MOD;
x--;
}
a = a%MOD*a%MOD;
x>>=;
}
return r%MOD;
} int main()
{
scanf("%d",&n);
for (int i = ;i<n;i++)
scanf("%lld",&a[i]);
LL sum = ;
for (int i = ;i<n;i++)
sum = (sum + quick(a[i],i+))%MOD;
printf("%lld\n",sum); return ;
}
最新文章
- 如何判定php环境是线程安全(TS)还是不安全(NTS)
- codeforces problem 140E New Year Garland
- 【CISP笔记】数据库及应用安全
- Camel——涨知识了,骆驼命名法
- 【wikioi】1217 借教室
- Android小项目之十二 设置中心的界面
- Asp.net中基于Forms验证的角色验证授权
- pip 安装python环境及打包
- PHP FTP上传文件
- XML转义特殊字符
- 马士兵SVN.
- Crazyflie笔记五: CRTP 实时通信协议(一)(转)
- 我的第一个python web开发框架(12)——工具函数包说明(三)
- 100000个嵌入式学习者遇到的PING不通问题,我们使用这一个视频就解决了,牛!
- 解析PHP程序员需要掌握的必备技能
- quillJS 富文本编辑器源码分析系列1
- [Swift]LeetCode530. 二叉搜索树的最小绝对差 | Minimum Absolute Difference in BST
- FBI树-数据结构(二叉树)
- iTerm2使用技巧
- FOJ有奖月赛-2016年8月(daxia专场之过四题方有奖)