题解【CJOJ1236】【复赛】指数序列求和
Description
求1^b+2^b+…+a^b的和除以10000的余数。
Input
第一行包含一个正整数N,表示有N组测试数据
接下来N行每行包含两个正整数a和b
Output
共N行,每行一个对应的答案
Sample Input
1
2 3
Sample Output
9
Hint
数据范围:
对于30%数据n≤10,a,b≤1000
对于100%数据n≤100,a,b≤1000000000
Source
位运算,二分,快速幂
Solution
由标签和数据范围可知,这题是个枚举模数的题。(有二分吗)
我们分析之后就会发现a^b和(a+mod)^b对答案的影响是一样的,证明是显然的。
所以说我们对于任意i^b都可以写成(i%mod)^b,那么只需要把mod打表打下来就可以一次计算完了,打表的时候用倍增快速幂即可。
——摘自这里
知道这个后,这就是一个快速幂取模的水题啦!
Code
#include <bits/stdc++.h> using namespace std; const int mod = ; inline int read()
{
int f=,x=;
char c=getchar(); while(c<'' || c>'')
{
if(c=='-')f=-;
c=getchar();
} while(c>='' && c<='')
{
x=x*+c-'';
c=getchar();
} return f*x;
} inline int Qpow(int a,int b)
{
int r=; while(b)
{
if(b&)
{
r=r*a%mod;
} a=a*a%mod; b=b>>;
} return r%mod;
} int t,a,b,ans,sum; int main()
{
t=read(); while(t--)
{
a=read(),b=read(); ans=,sum=a/mod; a=a%mod; for(register int i=; i<=mod; i++)
{
if(i<=a)
{
ans=(ans+(sum+)*Qpow(i,b))%mod;
}
else
{
ans=(ans+sum*Qpow(i,b))%mod;
}
} printf("%d\n",ans);
} return ;
}
题解【CJOJ1236】【复赛】指数序列求和的更多相关文章
- 【51Nod1258】序列求和V4(FFT)
[51Nod1258]序列求和V4(FFT) 题面 51Nod 多组数据,求: \[Ans=\sum_{i=1}^ni^k,n\le 10^{18},k\le50000\] 题解 预处理伯努利数,时间 ...
- HDU 5358 First One 求和(序列求和,优化)
题意:给定一个含n个元素的序列,求下式子的结果.S(i,j)表示为seq[i...j]之和.注:对于log20可视为1.数据量n<=105. 思路:即使能够在O(1)的时间内求得任意S,也是需要 ...
- 51NOD 1258 序列求和 V4 [任意模数fft 多项式求逆元 伯努利数]
1258 序列求和 V4 题意:求\(S_m(n) = \sum_{i=1}^n i^m \mod 10^9+7\),多组数据,\(T \le 500, n \le 10^{18}, k \le 50 ...
- 51nod 1258 序列求和 V4
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1258 1258 序列求和 V4 基准时间限制:8 秒 空间限制:131 ...
- HDU 2254 奥运(矩阵高速幂+二分等比序列求和)
HDU 2254 奥运(矩阵高速幂+二分等比序列求和) ACM 题目地址:HDU 2254 奥运 题意: 中问题不解释. 分析: 依据floyd的算法,矩阵的k次方表示这个矩阵走了k步. 所以k ...
- 51nod_1236_序列求和 V3 _组合数学
51nod_1236_序列求和 V3 _组合数学 Fib(n)表示斐波那契数列的第n项,Fib(n) = Fib(n-1) + Fib(n-2).Fib(0) = 0, Fib(1) = 1. (1, ...
- HDU 1588 Gauss Fibonacci(矩阵高速幂+二分等比序列求和)
HDU 1588 Gauss Fibonacci(矩阵高速幂+二分等比序列求和) ACM 题目地址:HDU 1588 Gauss Fibonacci 题意: g(i)=k*i+b;i为变量. 给出 ...
- lqb 入门训练 序列求和 (PS:用长整数做数据的输入输出)
入门训练 序列求和 时间限制:1.0s 内存限制:256.0MB 问题描述 求1+2+3+...+n的值. 输入格式 输入包括一个整数n. 输出格式 输出一行,包括一个整数,表示1+2+3 ...
- 51nod 1228 序列求和(伯努利数)
1228 序列求和 题目来源: HackerRank 基准时间限制:3 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 收藏 关注 T(n) = n^k,S(n) = T(1 ...
随机推荐
- Android_内部存储文件的读写
内部存储文件即raw和assets项目文件夹下的文件,项目卸载时被删除. 四种文件操作模式 文件存储: public void save(String filename, String filecon ...
- nohup npm start &启动之后关闭终端程序没有后台运行
感谢:https://blog.csdn.net/nsj820/article/details/5862231 “在当shell中提示了nohup成功后,还需要按终端上键盘任意键退回到shell输入命 ...
- 题解【AcWing272】最长公共上升子序列
题面 一道线性 DP 好题. 设 \(dp_{i,j}\) 表示在所有 \(a_{1\dots i}\),\(b_{1\dots j}\) 的子序列中,以 \(b_j\) 结尾的最长公共上升子序列的最 ...
- AI数学基础:符号
1.sigma 表达式 ∑ 是一个求和符号,英语名称:Sigma,汉语名称:西格玛(大写Σ,小写σ) 第十八个希腊字母.在希腊语中,如果一个单字的最末一个字母是小写sigma,要把该字母写成 ς ,此 ...
- MarkDown图文编辑系列教程(二)
一.写在前面 引言 本文是我写的MarkDown系列教程的第二篇,前一篇的地址:MarkDown图文编辑系列教程(一) 读完本篇,你将获得 学会使用markdown语法进行:区块引用(一种常用的引用格 ...
- Django上传excel表格并将数据写入数据库
前言: 最近公司领导要统计技术部门在各个业务条线花费的工时百分比,而 jira 当前的 Tempo 插件只能统计个人工时.于是就写了个报表工具,将 jira 中导出的个人工时excel表格 导入数据库 ...
- laravle中常见的数据库加密
// 1.md5加密 $str=md5('123456'); // 2.base64_decode加密 $str2=base64_encode('123456'); // 2.1 base64_解密 ...
- 图像处理——RGB-YRK-YUV-YCrCb的转换
一.和rgb之间换算公式的差异 yuv<-->rgb Y'= 0.299*R' + 0.587*G' + 0.114*B' U'= -0.147*R' - 0.289*G' + 0.436 ...
- Apache Tomcat配置启动
文章目录 前提 配置启动Tomcat 遇到的问题 端口被占用 解决方案 淇℃伅 特别感谢 前提 已经安装Java JDK 已经配置将Java JDK的bin目录添加至环境变量Path 已经配置JAVA ...
- b站德云社相声合集
每天都做德云小可爱呀 郭德纲于谦相声合集搜索: 75314217.75079477 62444678.60874866 60745041.60514509 之前在喜马拉雅上面听过,部分高清的要会员,只 ...