hdu 5063 操作逆推+mul每次要*2%(modo - 1)
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)相关推荐
- hdu 3853 LOOPS (概率dp 逆推求期望)
题目链接 LOOPS Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others) Tot ...
- Roguelike+RPG如何给玩家刺激的游戏体验? 《我功夫特牛》系统逆推
一.游戏介绍及游玩情况 <我功夫特牛>是一款武侠题材,火柴人画风的休闲游戏,玩法上笔者认为它是Roguelike+RPG组合型游戏,即单局死亡重置+角色养成游戏.其游戏内核,既有战斗和探索 ...
- 02-特征逆推图像实验
特征逆推图像 github: https://github.com/Gary11111/02-Inversion 文章目录 特征逆推图像 研究背景 ``ONNX`` VGGNET结构py实现 卷积层 ...
- 【CVPR2020】【逆推】Image Processing Using Multi-Code GAN Prior
翻到最后有视频版哦~ 论文地址:https://arxiv.org/pdf/1912.07116.pdf 项目地址:https://github.com/genforce/mganprior 文字版 ...
- 独辟蹊径:逆推Krpano切图算法,实现在浏览器切多层级瓦片图
独辟蹊径:逆推Krpano切图算法,实现在浏览器切多层级瓦片图 前言 1.功能简介 2.回顾krpano切图 3.krpano切图最常用的方式 4.瓦片地图金字塔模型 ==正片开始== 5.前置知识介 ...
- 如何仅用递归函数和栈操作逆序一个栈——你要先用stack实现,再去改成递归——需要对递归理解很深刻才能写出来...
/** * 如何仅用递归函数和栈操作逆序一个栈 * 题目: * 一个栈依次压入1,2,3,4,5,那么从栈顶到栈底分别为5,4,3,2,1. * 将这个栈转置后,从栈顶到栈底为1,2,3,4, ...
- 【C 语言】字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序字符串操作 | 引入线程安全概念 )
文章目录 一.引入线程安全概念 二.完整代码示例 一.引入线程安全概念 在上一篇博客 [C 语言]字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序字符串操作 | strncat 函数 ) ...
- 【C 语言】字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序字符串操作 | strncat 函数 )
文章目录 一.strncat 字符串连接函数 二.借助 递归函数操作 逆序字符串操作 三.完整代码示例 一.strncat 字符串连接函数 strncat 函数 : 将 const char *src ...
- 【C 语言】字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序打印字符串 | 递归要素 | 递归停止条件 | 递归操作 )
文章目录 一.借助 递归函数操作 逆序打印字符串 二.完整代码示例 一.借助 递归函数操作 逆序打印字符串 递归需要掌握下面 222 个点 : 参数入栈模型 : 第 111 次 , "sdh ...
最新文章
- [转]JAVA字节数据与JAVA类型的转换
- C# DirectX编程设置全屏和PresentParameters参数
- 使用cordova serve build以及tomcat进行web 调试。
- NYOJ 1068 ST(段树 为段更新+间隔总和)
- 组态中常用c语言代码,工业组态软件中CFC语言的设计实现及语言转换的研究
- http 几种请求方法的差别
- 【原创】如何写一个框架:步骤(下)
- enablePullDownRefresh的使用
- 【BZOJ1044】【tyvj3511】【codevs1870】木棍分割,二分答案+滚动数组+前缀和DP
- 苹果“炸场”发布会:搭载刘海屏的MacBook Pro来了,还有AirPods 3...
- ztree判断是否是叶子节点
- CentOS7开机自动加载驱动方法
- php 类中输出所有属性,PHP基于反射获取一个类中所有属性
- 台式机XP系统调节屏幕亮度
- html 倒计时弹出框,alert警告框倒计时
- 游戏场景设计探究:空间潜意识
- JS中实现继承的几种方式
- 八数码问题引发的思考
- [老文档]2015-08-11一种WiFi阶梯式省电控制的策略及装置
- 云服务是什么?云服务能做什么?