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−1

    a^{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】解梦相关推荐

  1. 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 ...

  2. JZOJsenior.5389.【NOIP2017提高A组模拟9.26】解梦

    题目描述 Description DYY 很善于解梦,昨晚,他梦见自己来到了一个高度发达的国度. 众所周知,我们现在有极为常用的三级运算,+..^.其中,a*b=a+a+a+-+a(b 个a),a^b ...

  3. 【jzoj5389】【NOIP2017提高A组模拟9.26】【解梦】

    description DYY 很善于解梦,昨晚,他梦见自己来到了一个高度发达的国度. 众所周知,我们现在有极为常用的三级运算,+..^.其中,a*b=a+a+a+-+a(b 个a),a^b=a*a* ...

  4. JZOJ 5372. 【NOIP2017提高A组模拟9.17】猫

    Description 信息组最近猫成灾了!隔壁物理组也拿猫没办法.信息组组长只好去请神刀手来帮他们消灭猫.信息组现在共有n 只猫(n 为正整数),编号为1 到n,站成了一个环,第i 只猫的左边是第i ...

  5. 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 ...

  6. JZOJ 5371. 【NOIP2017提高A组模拟9.17】组合数问题

    Description 定义"组合数"S(n,m)代表将n 个不同的元素拆分成m 个非空集合的方案数.举个例子,将{1,2,3}拆分成2 个集合有({1},{2,3}),({2},{1,3}),({3 ...

  7. JZOJ 100047. 【NOIP2017提高A组模拟7.14】基因变异

    Description 21 世纪是生物学的世纪,以遗传与进化为代表的现代生物理论越来越多的 进入了我们的视野. 如同大家所熟知的,基因是遗传因子,它记录了生命的基本构造和性能. 因此生物进化与基因的 ...

  8. 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 ...

  9. JZOJ 100030. 【NOIP2017提高A组模拟7.8】为了爱情

    Description Input 输入文件第一行包含一个正整数 k.之后是 k 组测试用例. 每组测试用例的第一行为一个整数 n.接下来 n 行,每行 n 个以空格隔开的数,用来 描述棋盘的初始状态 ...

最新文章

  1. 驱动阿里云的高性能网络引擎- 飞天洛神
  2. UIScrollView属性和用法
  3. Docker实战(一)之使用Docker镜像
  4. 【Hibernate框架开发之九】Hibernate 性能优化笔记!(遍历、一级/二级/查询/缓存/乐观悲观锁等优化算法)...
  5. 关于@SuppressWarnings(unchecked)注解
  6. Linux下捕捉信号
  7. 织梦在哪写html,织梦dedecms模板文件不支持html的解决方法
  8. 设置Cookie请求头报错(Refused to set unsafe header “Cookie“)
  9. php 模拟登陆新浪微博,[Javascript] 爬虫 模拟新浪微博登陆
  10. 程序员编程实用工具箱
  11. 子列和列_最大子列和的四种算法总结
  12. 禁用U盘,不影响其他设备的使用
  13. 武汉大学计算机学院朱晓薇,基于SDN的TDMA体制星间网络架构设计
  14. Android开发自定义View之仿米家APP双色灯控制UI:做一个智能家居产品的简单智能灯UI !(附带Demo)
  15. 前端练手项目 HTML 游戏叠高塔(包含源码)
  16. 某传统企业去O上云案例
  17. 基于机器学习的车辆检测算法研究方法概述
  18. Android旗舰机与苹果,iPhone SE与最强Android旗舰机相比会如何
  19. Java JDK安装与配置
  20. 你好,C++(29)脚踏两只船的函数不是好函数 5.4 函数设计的基本规则

热门文章

  1. 现代谱估计:多窗口谱
  2. FPGA产生频率可控的正弦波
  3. jdbc获取结果行数_如何获取JDBC中的行数?
  4. [云炬WEB实战笔记]批量修改WordPress文章时间按天递增
  5. 第01课:深度学习概述
  6. 如何用tadodataset.append
  7. 使用cordova serve build以及tomcat进行web 调试。
  8. 【宝,我去读书了。读的什么书,给你的情书】《数据结构(c++)邓俊晖》-绪论篇
  9. 从@EnableRedisHttpSession谈谈Spring Session实现原理
  10. ESP32开发 -- 试玩ESP32