题目链接:点击查看

题目大意:给出 n 张叠在一起的纸,现在将其连续从左向右折叠 k 次,再从上到下标上序号,问展开后的序号是怎么样的

题目分析:比赛时一直在找规律,确实是有规律,但是我找不到。。去请教了一下zx学长,zx学长和我说vector暴力模拟即可

这里放一张比赛时画的一张纸折叠四阶的图,提供给想找规律的朋友用吧,有点丑:

如果模拟的话,借用题解给出的示意图:

稍微提一下模拟的实现,上图中红色序号表示的是层的编号,初始时为 1 ~ limit ,limit = 2 * n * 2^k,蓝色的横线表示的是每次截断的位置,我们需要进行 k 次展开( 因为折叠了k次嘛 ),对于每次展开,我们挑选当前最中间的位置作为 mid ,将上半段翻转一下贴到下半段的左边,上图中就演示了连续展开两次后的情况,直接用 vector 暴力维护整个过程就好了,最后剩下的 2 * n 层就是我们需要的答案了,按照顺序输出即可,注意这个题卡了 PE ,末尾不要有多余的空格

时间复杂度的话,题解说的是 O( n * k * 2^n ) ,我不太会算,反正是 O( 能过 ) 就好了

代码:

#include<iostream>
#include<cstdio>
#include<string>
#include<ctime>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<stack>
#include<climits>
#include<queue>
#include<map>
#include<set>
#include<sstream>
#include<cassert>
#include<bitset>
#include<unordered_map>
using namespace std;typedef long long LL;typedef unsigned long long ull;const int inf=0x3f3f3f3f;const int N=1e6+100;vector<int>node[N];int main()
{
#ifndef ONLINE_JUDGE
//  freopen("data.in.txt","r",stdin);
//  freopen("data.out.txt","w",stdout);
#endif
//  ios::sync_with_stdio(false);int w;cin>>w;while(w--){int n,k;scanf("%d%d",&n,&k);int limit=2*n*(1<<k);for(int i=1;i<=limit;i++)node[i].clear();for(int i=1;i<=limit;i++){int num;scanf("%d",&num);node[i].push_back(num);}int mid=1;while(k--){mid=mid+limit>>1;for(int j=mid+1;j<=limit;j++){int pos=mid-(j-(mid+1));reverse(node[pos].begin(),node[pos].end());node[j].insert(node[j].begin(),node[pos].begin(),node[pos].end());node[pos].clear();}}bool first=true;for(int i=limit-2*n+1;i<=limit;i++)for(int j=0;j<node[i].size();j++){if(first)first=false;elseputchar(' ');printf("%d",node[i][j]);}puts("");}return 0;
}

HDU多校5 - 6816 Boring Game(模拟)相关推荐

  1. 权值线段树小结(hdu多校,普通平衡树,郁闷的出纳员)

    之前刷了一点主席树的题目,但是没有系统的做过权值线段树的题目.主席树是多根权值线段树的综合.权值线段树可以解决在总区间里求第k大的问题.在普通的线段树里,我们每一个节点维护的是权值大小.但是在权值线段 ...

  2. HDU 多校 6400 Parentheses Matrix(构造)

    HDU 多校 6400 Parentheses Matrix(构造) // Problem: D. Parentheses Matrix // Contest: Codeforces - 2018 C ...

  3. 2018 HDU多校第四场赛后补题

    2018 HDU多校第四场赛后补题 自己学校出的毒瘤场..吃枣药丸 hdu中的题号是6332 - 6343. K. Expression in Memories 题意: 判断一个简化版的算术表达式是否 ...

  4. HDU多校4 - 6992 Lawn of the Dead(线段树+模拟)

    题目链接:点击查看 题目大意:给出一个 n∗mn*mn∗m 的矩阵,有 kkk 个点被 banbanban 掉了,现在从点 (1,1)(1,1)(1,1) 出发,只能向右或向下移动,问可以到达的点有多 ...

  5. HDU多校联合赛(1007 Magical Forest)模拟题

    题目: Problem Description There is a forest can be seen as N * M grid. In this forest, there is some m ...

  6. hdu 2629 Identity Card (字符串解析模拟题)

    这题是一个字符串模拟水题,给12级学弟学妹们找找自信的,嘿嘿; 题目意思就是要你讲身份证的上的省份和生日解析出来输出就可以了: http://acm.hdu.edu.cn/showproblem.ph ...

  7. 【HDU】4706 Children's Day(模拟)

    http://acm.hdu.edu.cn/showproblem.php?pid=4706 该题没有输入,直接输出不同形状大小的N,在输出不同形状N的时候是要用到26个字母,并且是循环输出 #inc ...

  8. HDU Problem - 6396 Swordsman(优先队列,模拟)

    题目链接 Problem Description Lawson is a magic swordsman with kkk kinds of magic attributes v1,v2,v3,-,v ...

  9. HDU多校4 - 6989 Didn‘t I Say to Make My Abilities Average in the Next Life?!(单调栈)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的序列,再给出 mmm 次询问,每次询问给出一个区间 [l,r][l,r][l,r],要求输出区间 [l,r][l,r][l,r] 内 " ...

最新文章

  1. JAVA关于字符串字符数组处理的小题目
  2. mysql中char,varchar,text
  3. 计算机组成实验v代表什么,2014计算机组成原理实验指导V1.3.docx
  4. 自定义控件三部曲之动画篇(一)——alpha、scale、translate、rotate、set的xml属性及用法...
  5. 探索图神经网络的网络架构和训练方法
  6. 实现c++BMP图像的读取合成拆解加边框
  7. 换主板 oracle 蓝屏,图文说明win7系统更换主板后开机蓝屏的办法
  8. mongodb模糊查询_我叫Mongo,收了「查询基础篇」,值得你拥有
  9. MoreLinq和Linq
  10. FastDFS搭建文件服务器
  11. GoogleAdMob 广告接入
  12. 实用小技巧,Python一秒将全部中文姓名转为拼音!
  13. 阿里 java 面试题 p6_「独家」五面阿里P6:Java开发面试题及答案
  14. mysql b 树 字符串索引_Mysql从入门到入神之(四)B+树索引
  15. 鸿蒙 悟空遥控,悟空遥控器(com.wukongtv.wkremote.client) - 3.9.3.0 - 应用 - 酷安
  16. 【调剂】北京语言大学 SAIT 智能语音习得技术实验室
  17. Jfrog 搭建本地maven仓库以及上传Android库
  18. Android运行报错Manifest merger failed : uses-sdk:minSdkVersion 26 cannot be smaller than version 28 decl
  19. 半年学好英语,一辈子都能受益。
  20. oracle数据库uga中文全称,关于uga,pga和sga

热门文章

  1. php底层实现也是c语言,深入php内核,从底层c语言剖析php实现原理
  2. MySQL高级 - 案例 - 系统性能优化 - 读写分离概述
  3. 从源码剖析SpringBoot中Tomcat的默认最大连接数
  4. AIO(Asynchronous IO)基本原理
  5. 分布式架构中分布式事务
  6. Stream流的常见生成方式
  7. 使用RSA算法生成令牌
  8. self-利用self在类封装的方法中输出对象属性
  9. 拼接字符串的两种方式
  10. springboot整合filter