http://acm.hdu.edu.cn/showproblem.php?pid=5063

只有50个询问,50个操作逆推回去即可,注意mul每次要*2%(modo - 1)因为是指数!

#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <string>
#include <queue>
#include <set>
#include <iostream>
#include <algorithm>
using namespace std;
#define RD(x) scanf("%d",&x)
#define RD2(x,y) scanf("%d%d",&x,&y)
#define RD3(x,y,z) scanf("%d%d%d",&x,&y,&z)
#define clr0(x) memset(x,0,sizeof(x))
typedef long long LL;int n,m;
const double pi = acos ( -1.0 ) ;
const LL modo = 1000000007;
int op[100005],op_n;
LL ans[55];
int ans_n;
LL quick_pow(LL a,int b)
{LL c = 1;while(b){if(b&1)c = (c*a)%modo;b>>=1;a = (a*a)%modo;}return c;
}
LL gao(LL x)
{int mul = 1;for(int i = op_n - 1;i >= 0;--i){if(op[i] == 1){//  1,3,5->1,2,3//  2,4,6->4,5,6//  1,3,5,7->1,2,3,4//  2,4,6->5,6,7if(x <= (n+1)/2)x = x*2 - 1;elsex = (x - (n+1)/2)<<1;}else if(op[i] == 2){x = n + 1 - x;}else{mul = (mul*2)%(modo-1);}}return quick_pow(x,mul);
}
void work()
{op_n = ans_n = 0;LL x;char q[2];while(m--){scanf("%s%I64d",q,&x);if(q[0] == 'O'){op[op_n++] = (int)x;}else{ans[ans_n++] = gao(x);}}for(int i = 0;i < ans_n;++i)printf("%I64d\n",ans[i]);return;
}
int main () {int T;RD(T);while(T--){RD2(n,m);work();}return 0 ;
}

转载于:https://www.cnblogs.com/zibaohun/p/4046784.html

hdu 5063 操作逆推+mul每次要*2%(modo - 1)相关推荐

  1. hdu 3853 LOOPS (概率dp 逆推求期望)

    题目链接 LOOPS Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 125536/65536 K (Java/Others) Tot ...

  2. Roguelike+RPG如何给玩家刺激的游戏体验? 《我功夫特牛》系统逆推

    一.游戏介绍及游玩情况 <我功夫特牛>是一款武侠题材,火柴人画风的休闲游戏,玩法上笔者认为它是Roguelike+RPG组合型游戏,即单局死亡重置+角色养成游戏.其游戏内核,既有战斗和探索 ...

  3. 02-特征逆推图像实验

    特征逆推图像 github: https://github.com/Gary11111/02-Inversion 文章目录 特征逆推图像 研究背景 ``ONNX`` VGGNET结构py实现 卷积层 ...

  4. 【CVPR2020】【逆推】Image Processing Using Multi-Code GAN Prior

    翻到最后有视频版哦~ 论文地址:https://arxiv.org/pdf/1912.07116.pdf 项目地址:https://github.com/genforce/mganprior 文字版 ...

  5. 独辟蹊径:逆推Krpano切图算法,实现在浏览器切多层级瓦片图

    独辟蹊径:逆推Krpano切图算法,实现在浏览器切多层级瓦片图 前言 1.功能简介 2.回顾krpano切图 3.krpano切图最常用的方式 4.瓦片地图金字塔模型 ==正片开始== 5.前置知识介 ...

  6. 如何仅用递归函数和栈操作逆序一个栈——你要先用stack实现,再去改成递归——需要对递归理解很深刻才能写出来...

    /**  * 如何仅用递归函数和栈操作逆序一个栈  * 题目:  * 一个栈依次压入1,2,3,4,5,那么从栈顶到栈底分别为5,4,3,2,1.  * 将这个栈转置后,从栈顶到栈底为1,2,3,4, ...

  7. 【C 语言】字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序字符串操作 | 引入线程安全概念 )

    文章目录 一.引入线程安全概念 二.完整代码示例 一.引入线程安全概念 在上一篇博客 [C 语言]字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序字符串操作 | strncat 函数 ) ...

  8. 【C 语言】字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序字符串操作 | strncat 函数 )

    文章目录 一.strncat 字符串连接函数 二.借助 递归函数操作 逆序字符串操作 三.完整代码示例 一.strncat 字符串连接函数 strncat 函数 : 将 const char *src ...

  9. 【C 语言】字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序打印字符串 | 递归要素 | 递归停止条件 | 递归操作 )

    文章目录 一.借助 递归函数操作 逆序打印字符串 二.完整代码示例 一.借助 递归函数操作 逆序打印字符串 递归需要掌握下面 222 个点 : 参数入栈模型 : 第 111 次 , "sdh ...

最新文章

  1. [转]JAVA字节数据与JAVA类型的转换
  2. C# DirectX编程设置全屏和PresentParameters参数
  3. 使用cordova serve build以及tomcat进行web 调试。
  4. NYOJ 1068 ST(段树 为段更新+间隔总和)
  5. 组态中常用c语言代码,工业组态软件中CFC语言的设计实现及语言转换的研究
  6. http 几种请求方法的差别
  7. 【原创】如何写一个框架:步骤(下)
  8. enablePullDownRefresh的使用
  9. 【BZOJ1044】【tyvj3511】【codevs1870】木棍分割,二分答案+滚动数组+前缀和DP
  10. 苹果“炸场”发布会:搭载刘海屏的MacBook Pro来了,还有AirPods 3...
  11. ztree判断是否是叶子节点
  12. CentOS7开机自动加载驱动方法
  13. php 类中输出所有属性,PHP基于反射获取一个类中所有属性
  14. 台式机XP系统调节屏幕亮度
  15. html 倒计时弹出框,alert警告框倒计时
  16. 游戏场景设计探究:空间潜意识
  17. JS中实现继承的几种方式
  18. 八数码问题引发的思考
  19. [老文档]2015-08-11一种WiFi阶梯式省电控制的策略及装置
  20. 云服务是什么?云服务能做什么?

热门文章

  1. realloc calloc 和 malloc
  2. python中bs包的使用方法
  3. uboot中$(origin variable)详解
  4. 两台电脑怎么互传文件(共享文件)
  5. php 获取带http或https的域名
  6. 无线网络不可用的解决技巧
  7. 一文搞定MySQL性能调优
  8. 天猫店群是什么?月入十万的天猫店群有前景吗?
  9. OpenFlow:简述对OpenFlow协议1.0的认识
  10. JTEST历年真题试卷A-C/D-E/F-G电子版下载(2023年最新)