2019ICPC(南昌) - Magic Master(模拟)
题目链接:点击查看
题目大意:桌子上有按顺序排列n张牌,我们需要循环进行以下操作,直到牌没有
- 拿走第一张牌
- 将最后一张牌拿到最前面的位置,循环m次
- 拿走第一张牌
然后给出q次询问,每次询问第k张牌是什么时候拿出来的
题目分析:比赛的时候不知道被谁带偏了,一直在考虑约瑟夫环,其实这就是个简单模拟,只是用vector写完后一直RE,连本地都跑不过,赛后看了别人的代码,发现真的好简单,偷学一波deque,感觉自己已经是stl依赖症晚期了,懒死了
对了,这个题给的数据范围是4e8,如果用一个deque模拟,用一个数组存结果的话,会爆内存,所以只能用一个deque模拟最后的结果,也可以在一个数组上操作,我看网上有大佬推出来的结论是,倒着从n遍历,将每个数字插入到最前端,然后执行m次循环,这样能直接得到答案,真的太强了。。反向模拟
上代码吧:模拟即可
#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<vector>
#include<cstdio>
#include<queue>
#include<deque>
#include<memory>
using namespace std;
typedef long long LL;const int inf=0x3f3f3f3f;const int N=1e8+100;deque<int>q;int main()
{int w;cin>>w;while(w--){int n,m;scanf("%d%d",&n,&m);q.clear();q.push_front(n);for(int i=n-1;i>1;i--){q.push_front(i);for(int i=1;i<=m;i++){q.push_front(q.back());q.pop_back();}}q.push_front(1);int t;scanf("%d",&t);while(t--){int x;scanf("%d",&x);printf("%d\n",q[x-1]);}}return 0;
}
2019ICPC(南昌) - Magic Master(模拟)相关推荐
- 2019 ICPC南昌网络赛 E题 Magic Master 【双向队列】
传送门:E.Magic Master John is not only a magic master but also a shuffling master. Famous though he is, h ...
- UVA10978 Let's Play Magic!【模拟】
You have seen a card magic trick named "Spelling Bee". The process goes as follows: 1. The ...
- 2019ICPC南昌总结+今年总结
南昌打铜记: 这次失败的经历,回想起来也觉得很是无奈.在去南昌前就感觉已经卸下了很多包袱,去之前的两个星期训练量也很少,这些都为结果埋了伏笔吧.但深挖下去想想,其实还是自己太菜了. day0: 和ZX ...
- 树上启发式合并问题 ---- 2019icpc南昌 K. Tree (树上启发式合并 + 动态开点线段树)
题目链接 题目大意: 就是给你一颗树,每个点有个权值viv_ivi,问你有多少对(x,y)(x,y)(x,y)满足: xxx不是yyy的祖先 yyy也不是xxx的祖先 xxx和yyy的距离不超过kk ...
- 2019ICPC(南昌) - Hello 2019(动态规划+线段树维护矩阵)
题目链接:点击查看 题目大意:给出一个长度为n的只由数字组成的字符串,再给出m个询问,每次询问给出闭区间[l,r],求区间内想要包含"9102",但不包含"8102&qu ...
- 2019ICPC(南昌) - Fire-Fighting Hero(最短路+思维)
题目链接:点击查看 题目大意:有一个由n个点,m条边组成的无环无向图,题目保证是连通图,现在每个点代表一个着火点,有一个消防英雄和k个消防队伍比赛救火,他们的具体位置输入时会给出,谁的分数低谁就获胜, ...
- 2019ICPC(南昌) - The Nth Item(矩阵快速幂)
题目链接:点击查看 题目大意:给定一个变形版的斐波那契数列,F(n)为其对应的函数值,初始时给定一个q和一个a1,规定下面两个递推式: ^ ans^= 最后输出ans 题目分析:对于变形版的斐波那契函 ...
- ZOJ-3704 I am Nexus Master! 模拟
题意:有一个判定用户等级的系统,现在不同的等级有不同的评价标准,现给定一个用户的历史等级以及当前最新的数据,要求给出目前的等级. 解法:把不同的等级标题映射到数字,然后或者历史等级的标号,然后从大的往 ...
- 【2019.09.08】2019icpc南昌网络赛
题目地址:https://www.jisuanke.com/contest/3870?view=challenges A: B: C: D: E: F: G: H: I: 转载于:https://ww ...
最新文章
- hdu 4263(有限制的生成树)
- PyCharm为什么这么牛?
- CSS Border属性solid(实线)使用介绍
- 为了探究不同光照处理_渭南市实验初中“诱思探究学导”课堂教学改革展示活动圆满成功...
- 如何在Django1.6结合Python3.4版本中使用MySql
- linux开机自动挂载硬盘指定权限,Linux开机自动挂载硬盘
- Android手机编程初学遇到的问题及解决方法
- 嵌入式linux的学习笔记-pipe管道(二)
- 深度学习Dubbo系列(入门开篇)
- linux en_us支持什么格式的中文,更改Linux操作系统下的显示默认支持语言
- php百度地图地址解析失败,javascript - vue中使用百度地图 提示无法解析
- 《区块链技术指南》摘要
- 大数据概览以及当下实用的主流开发
- IP地址、网关地址、子网掩码地址
- DHTML动态样式的作用
- 邮箱安全再成热点 金笛企业邮件系统保障企业用户通信安全
- 安卓毕业设计- 基于Android的旅游计划APP
- 移远BC20模组使用LwM2M协议接入华为IoT平台(NB-IoT专栏—进阶篇2)
- 计算机专业优秀毕业生,计算机专业优秀毕业生求职信
- 【JVM进阶之路】垃圾回收机制和GC算法之三色标记(三)