JZOJ 5389. 【NOIP2017提高A组模拟9.26】解梦
Description
DYY 很善于解梦,昨晚,他梦见自己来到了一个高度发达的国度。
众所周知,我们现在有极为常用的三级运算,+、、^。其中,a*b=a+a+a+…+a(b 个a),a^b=a*a*a…*a(b 个a)。但是,在这个国家,还有第四级运算——♂,a♂b=a^a^a^…^a(b 个a,从左往右计算)。同时,由于这个国家的历史背景,他们非常反感高精度,所以a♂b 的结果是经过1e9+7 取模的。
DYY 觉得这个梦可能意味着他将成为全球第一的解梦第二的数学之神,但要彻底解开它,DYY 必须算出来a♂b 的结果。
Input
第一行:两个正整数,a 和b。
Output
一个整数,a♂b mod 1e9+7。
Sample Input
2 4
Sample Output
256
Data Constraint
Hint
2♂4=2^2^2^2=4^2^2=16^2=256
Solution
题意:给定 aa 和 bb ,求 (...((aa)a)a...)a(...((a^a)^a)^a...)^a ( bb 个 aa) 。
不难想到这个东西就是:
aab−1a^{a^{b-1}}
然后快速幂跑就可以了。
要注意一下,ap−1≡1(mod p)a^{p-1}≡1(mod\ p) ,所以在计算 ab−1a^{b-1} 时,模 109+610^9+6 。
时间复杂度 O(log a+log b)O(log\ a+log\ b) 。
Code
#include<cstdio>
using namespace std;
typedef long long LL;
const int mo=1e9+7;
LL n,m;
inline LL ksm(LL x,LL y,int z)
{LL s=1;while(y){if(y&1) s=s*x%z;x=x*x%z;y>>=1;}return s;
}
int main()
{scanf("%lld%lld",&n,&m);printf("%lld",ksm(n,ksm(n,m-1,mo-1),mo));return 0;
}
JZOJ 5389. 【NOIP2017提高A组模拟9.26】解梦相关推荐
- JZOJ 5390. 【NOIP2017提高A组模拟9.26】逗气
Description Input Output Sample Input 3 2 1 8 4 5 7 9 3 1 5 2 Sample Output 6 5 Data Constraint Hint ...
- JZOJsenior.5389.【NOIP2017提高A组模拟9.26】解梦
题目描述 Description DYY 很善于解梦,昨晚,他梦见自己来到了一个高度发达的国度. 众所周知,我们现在有极为常用的三级运算,+..^.其中,a*b=a+a+a+-+a(b 个a),a^b ...
- 【jzoj5389】【NOIP2017提高A组模拟9.26】【解梦】
description DYY 很善于解梦,昨晚,他梦见自己来到了一个高度发达的国度. 众所周知,我们现在有极为常用的三级运算,+..^.其中,a*b=a+a+a+-+a(b 个a),a^b=a*a* ...
- JZOJ 5372. 【NOIP2017提高A组模拟9.17】猫
Description 信息组最近猫成灾了!隔壁物理组也拿猫没办法.信息组组长只好去请神刀手来帮他们消灭猫.信息组现在共有n 只猫(n 为正整数),编号为1 到n,站成了一个环,第i 只猫的左边是第i ...
- JZOJ 5392. 【NOIP2017提高A组模拟10.5】Lucky Transformation
Description Input Output Sample Input 7 2 2343223 4 1 2234 Sample Output 2243233 2334 Data Constrain ...
- JZOJ 5371. 【NOIP2017提高A组模拟9.17】组合数问题
Description 定义"组合数"S(n,m)代表将n 个不同的元素拆分成m 个非空集合的方案数.举个例子,将{1,2,3}拆分成2 个集合有({1},{2,3}),({2},{1,3}),({3 ...
- JZOJ 100047. 【NOIP2017提高A组模拟7.14】基因变异
Description 21 世纪是生物学的世纪,以遗传与进化为代表的现代生物理论越来越多的 进入了我们的视野. 如同大家所熟知的,基因是遗传因子,它记录了生命的基本构造和性能. 因此生物进化与基因的 ...
- JZOJ 100041. 【NOIP2017提高A组模拟7.12】列车调度
Description Input Output Sample Input Sample1: 3 1 2 3 Sample2: 9 1 3 2 4 8 6 9 5 7 Sample Output Sa ...
- JZOJ 100030. 【NOIP2017提高A组模拟7.8】为了爱情
Description Input 输入文件第一行包含一个正整数 k.之后是 k 组测试用例. 每组测试用例的第一行为一个整数 n.接下来 n 行,每行 n 个以空格隔开的数,用来 描述棋盘的初始状态 ...
最新文章
- 驱动阿里云的高性能网络引擎- 飞天洛神
- UIScrollView属性和用法
- Docker实战(一)之使用Docker镜像
- 【Hibernate框架开发之九】Hibernate 性能优化笔记!(遍历、一级/二级/查询/缓存/乐观悲观锁等优化算法)...
- 关于@SuppressWarnings(unchecked)注解
- Linux下捕捉信号
- 织梦在哪写html,织梦dedecms模板文件不支持html的解决方法
- 设置Cookie请求头报错(Refused to set unsafe header “Cookie“)
- php 模拟登陆新浪微博,[Javascript] 爬虫 模拟新浪微博登陆
- 程序员编程实用工具箱
- 子列和列_最大子列和的四种算法总结
- 禁用U盘,不影响其他设备的使用
- 武汉大学计算机学院朱晓薇,基于SDN的TDMA体制星间网络架构设计
- Android开发自定义View之仿米家APP双色灯控制UI:做一个智能家居产品的简单智能灯UI !(附带Demo)
- 前端练手项目 HTML 游戏叠高塔(包含源码)
- 某传统企业去O上云案例
- 基于机器学习的车辆检测算法研究方法概述
- Android旗舰机与苹果,iPhone SE与最强Android旗舰机相比会如何
- Java JDK安装与配置
- 你好,C++(29)脚踏两只船的函数不是好函数 5.4 函数设计的基本规则
热门文章
- 现代谱估计:多窗口谱
- FPGA产生频率可控的正弦波
- jdbc获取结果行数_如何获取JDBC中的行数?
- [云炬WEB实战笔记]批量修改WordPress文章时间按天递增
- 第01课:深度学习概述
- 如何用tadodataset.append
- 使用cordova serve build以及tomcat进行web 调试。
- 【宝,我去读书了。读的什么书,给你的情书】《数据结构(c++)邓俊晖》-绪论篇
- 从@EnableRedisHttpSession谈谈Spring Session实现原理
- ESP32开发 -- 试玩ESP32