Icebound and Sequence(等比数列公式的递归处理)
题目链接:登录—专业IT笔试面试备考平台_牛客网
Icebound hates math. But Imp loves math. One day, Imp gave icebound a problem.
The problem is as follows.
For given q,n,p, you need to help icebound to calculate the value of S.
输入描述:
The first line contains an integer T, denoting the number of test cases.
The next T lines, each line contains three integers q,n,p, separated by spaces.
1≤T≤1001≤T≤100, 1≤n,q,p≤109
输出描述:
For each test case, you need to output a single line with the integer S.
示例:
输入:
2 2 3 100 511 4 520
输出:
14 184
高中知识学不好,连老本都吃不了 ╮(๑•́ ₃•̀๑)╭、
那么,首先让我来回顾一下高中关于等比数列的一个公式(当n为奇数时。。。当n为偶数时。。。)
现在看看,这个公式简直深得二分法的真谛!!!
所以,这道题的解决方法就是 快速幂+公式二分! 。:.゚ヽ(。◕‿◕。)ノ゚.:。+゚ 。:.゚ヽ(。◕‿◕。)ノ゚.:。+゚ 。:.゚ヽ(。◕‿◕。)ノ゚.:。+゚
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int t;
ll n,q,p;ll qpow(ll q,ll n)//快速幂版子来一波
{ll res=1;while(n){if(n&1) res=res*q%p;q=q*q%p;n=n/2;}return res;
} ll dengb(ll n)//公式套一波
{if(n==1) return q;if(n&1)//当n为奇数时 {return ( dengb((n-1)/2)*(1+qpow(q,(n+1)/2))%p+qpow(q,(n+1)/2))%p;}else//当n为偶数时 {return ( dengb(n/2)*( 1+qpow(q,n/2) )%p );}
}
int main(){cin>>t;while(t--){cin>>q>>n>>p;if(q==1){cout<<n<<"\n";}else cout<<dengb(n)<<endl;}return 0;
}
Icebound and Sequence(等比数列公式的递归处理)相关推荐
- 2019河北省大学生程序设计竞赛(重现赛)B 题 -Icebound and Sequence ( 等比数列求和的快速幂取模)...
题目链接:https://ac.nowcoder.com/acm/contest/903/B 题意: 给你 q,n,p,求 q1+q2+...+qn 的和 模 p. 思路:一开始不会做,后面查了下发现 ...
- Master公式求递归复杂度
先说明一下这里的master不是价值网络,纯属求递归复杂度的一个公式. master公式的使用: a是迭代的子算法的数量,b是每个算法负责多少数据,d出去子过程剩下的时间复杂度的指数. log(b,a ...
- 等差数列-等比数列公式和前n项和公式
等差数列公式:an=a1+(n-1)d,(n为正整数) a1为首项,an为第n项的通项公式,d为公差. 前n项和公式为:Sn=na1+n(n-1)d/2,(n为正整数) Sn=n(a1+an)/2,( ...
- 等比数列公式对数的运算
题目描述 小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦.已知小玉第一步能游2米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的98%.现在小玉想知道,如果 ...
- 等比数列求和 再取余
2019河北省大学生程序设计竞赛 Icebound and Sequence 分析: 1.等比数列求和 mod p 因为不能保证 p 是素数,所以不能对(q-1)求逆元 .. ...
- 函数递归大总结,码住就完事啦
目录 #前言 #一.什么是递归 #二.递归的必要条件 #三.递归的步骤 #四.递归的一些应用例题 熬夜早起肝博客!!冲!! #前言 大家好,今天给大家带来递归初步学习的大总结,对刚接触递归的同学来讲是 ...
- acm公选课第三节4.7直播4.9补 递归 深搜啥的
今天主要讲递归 深搜 dp做准备, 能看到算法复杂度 要真正理解:(从上往下扎,到边界结束,再一层一层往上返) 下图:第一行时边界,第二行时递归模式 爆了: RE:(我也出过原来是这样) 递推就行 老 ...
- 5.3 递归最小二乘法
5.3 递归最小二乘法 前面最小二乘法中数据是一次全部测量好,然后进行求解.但实际中有时存在测量数据是在线获得的,即时刻获得测量数据.比如无人驾驶车辆,需要实时判断前面车辆的运动状态,获取其加速度,所 ...
- [递归]一文看懂递归
1. 递归的定义 编程语言中,函数 Func(Type a,--) 直接或间接调用函数本身,则该函数称为「递归函数」. 在实现递归函数之前,有两件重要的事情需要弄清楚: 递推关系:一个问题的结果与其子 ...
- python递归求13的n次方_Python题目:递归的简单题目,求阶乘,求n-m的累积和,求斐波那契...
递归 从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事!故事是什么呢?从前有座山,山里有座庙- 定义:递归函数是自身直接或者间接调用自身并且有终止条件的函数 特点:将大问题分解成n个小问题, ...
最新文章
- 拜读及分析Element源码-alert组件篇
- Java知识系统回顾整理01基础04操作符07Scanner
- idea dump分析工具_实战:OOM 后我如何分析解决的
- 继承Comparable接口来实现排序
- NPOI “发现 中的部分内容有问题,是否要恢复此工作薄的内容?如果信任此工作薄的来源。。。”的问题的解决方法...
- 《软件项目管理(第二版)》第 3 章——项目计划 重点部分总结
- php foreach结果如何保存_每天一个PHP语法四引用使用及实现
- Linux下MySQL忘记密码
- Intellij IDEA的配置
- 关于前几周项目进行的一些感受
- 小学计算机集体听课评课,小学语文听课笔记:教师集体听评课活动
- mac 蓝牙 串口调试 助手(工具)
- python实现LU分解
- Activity启动流程(二)system_server进程处理启动Activity请求
- 远程登录时由于帐户限制,你无法登录的解决办法[作者:Jackie]
- 学习单片机c51矩阵键盘,按键无反应
- JavaScript之简繁体转化代码示例
- 计算机增加一个硬盘怎么设置方法,电脑加硬盘【操作教程】
- 机器学习从入门到创业手记-处理数据的乐趣在于挖掘
- 钉钉机器人智能回复_青岛市市南区税务局:“税博士”智能服务机器人亮相办税服务厅...
热门文章
- Zynga公布2021年第二季度财务业绩
- banner图片自适应
- 华为手机灵敏度设置_和平精英华为手机灵敏度怎么设置 上分灵敏度推荐
- Java 中Calendar的使用
- 再看iOS如何使用SM2/SM3/SM4/SM9 方法二:使用http://gmssl.org这个开源密码箱来实现从编译到使用
- 将excel表格嵌入html,excel中embed的使用
- AcWing每日一题 1934贝茜放慢脚步
- 一文2500字Robot Framework自动化测试框架超强教程
- PhysX3.4文档(13) -- Spatial Queries
- 金之塔用 Python 获取日内分时均价,每分钟日成交量和每时刻结算价,及交叉作用曲线延伸