题目链接:https://ac.2333.moe/Problem/view.xhtml?id=1225

比赛链接:https://vjudge.net/contest/157779#overview

题目大意:给定n、m、x,原始序列是1~n;问m次操作之后的序列的前1~x个数是什么;每次操作,先取出偶数位置的数,按位置顺序构成一个序列a,再取出奇数位置的数,按位置顺序构成一个序列b,最后新的序列就是a+b。

分析:和上次的洗牌问题差不多,洗牌问题是判断第一个数1的位置的变化,问多少次操作之后能回到原来的顺序。
而这道题的操作差不多,我们需要判断m次操作后第1~X的位置分别是几。观察的时候我们可以只看第一个位置,找出其变化规律(和洗牌问题的规律类似):
      当pos(当前位置的数字)<=n/2时,下一次的变化就是pos*=2;
      否则:pos=(pos-n/2)*2-1;
就这样判断m次操作后每个位置的数是多少。
但m很大,这样肯定会超时,我们可以预处理一下m,根据洗牌问题的启发,我们先判断多少次之后会变回原来的顺序,然后让m取余这个数,再操作m次就行了。

洗牌问题:http://blog.csdn.net/jane_jxr/article/details/65627522

CODE:

#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<map>
#include<queue>
#include<stack>
#include<string.h>
typedef long long LL;
using namespace std;
#define INF 0x3f3f3f3f
const double eps=0.0001;
const int maxn=10005;
int n,m,x;
int judge(int xx,int kk)//kk次操作之后xx位置的数是什么
{int pos=xx;while(kk--){if(pos<=n/2)pos=pos*2;elsepos=(pos-n/2)*2-1;}return pos;
}
int main()
{while(~scanf("%d%d%d",&n,&m,&x)){// cout<<judge(1,5)<<" ";int pos1=2,anss=1;while(pos1!=1)//判断多少次之后回到原来的位置{if(pos1<=n/2)pos1*=2;elsepos1=(pos1-n/2)*2-1;anss++;}for(int i=1;i<=x;i++)//枚举求前x个数{int ans=judge(i,m%anss);if(i>1)printf(" ");printf("%d",ans);}printf("\n");}return 0;
}

辽宁省赛2010 G - NEW RDSP MODE I【思路题】(省赛选拔赛之个人赛9)相关推荐

  1. [ACM]辽宁省赛2010 (HZNU 1081-1089)

    虽然退役了,但偶尔水几题醒醒脑还是不错的=_= 1085 Intermediary 暂时还没做 1081: Dinner 时间限制: 1 Sec   内存限制: 32 MB 提交: 5   解决: 3 ...

  2. 2020年广东工业大学第十届文远知行杯新生程序设计竞赛(同步赛)G.排解忧伤

    2020年广东工业大学第十届文远知行杯新生程序设计竞赛(同步赛)G.排解忧伤 题目链接 题目描述 猪猪参加小米赞助的icpc比赛之后惨遭打铁,为了排解忧伤,他开始观察嘉宾席. 嘉宾席是间隔为1,一字排 ...

  3. 【系统分析师之路】2010年系统分析师下午案例分析真题

    [系统分析师之路]2010年系统分析师下午案例分析真题 系统分析师下午案例分析真题 [系统分析师之路]2010年系统分析师下午案例分析真题 2010年系统分析师下午案例分析第一题(需求工程) 1. 我 ...

  4. Algorithm:数学建模大赛(国赛和美赛)的简介/内容、数学建模做题流程、历年题目类型及思想、常用算法、常用工具之详细攻略

    Algorithm:数学建模大赛(国赛和美赛)的简介/内容.数学建模做题流程.历年题目类型及思想.常用算法.常用工具之详细攻略 目录 国内数学建模大赛简介 1.本科生数学建模大赛 2.研究生数学建模大 ...

  5. 分治法【锦标赛问题:设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次; (2)每个选手一天只能赛一次; (3)循环赛一共进行n-1天。】

    目   录 1.问题 2.问题分析 3.程序代码(非递归) 4.程序代码(递归) 5.总结 1.问题 锦标赛问题:设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次: ( ...

  6. 第十三届蓝桥杯省赛 python B组复盘(三道代码题全AC居然省一了)

    第十三届蓝桥杯省赛 python B组复盘(三道代码题全AC居然省一了)

  7. 计算机专英语第6版翻译10.2,2010年6月英语六级翻译题模拟训练附答案 第2期

    翻译练习 2010年6月英语六级翻译题模拟训练附答案 第2期 不定式 1) It was a great achievement _______________(10个月建成一栋24层的楼). 2) ...

  8. 2023美赛思路 | 2023美赛C题Matlab代码

    2023美赛思路 | 2023美赛C题Matlab代码 目录 2023美赛思路 | 2023美赛C题Matlab代码 基本介绍 程序设计 运行结果 参考资料 基本介绍 (1)问: 本文分两个小问,第一 ...

  9. 2023美赛数学建模思路获取/2023美赛思路ABCDEF题/美赛数学建模

    思路见文末,比赛开始就更新,先占坑 美赛.数学建模.美国大学生数学建模.美赛思路.美国大学生数学建模思路.2023美赛.2023美国大学生数学建模竞赛.2023美赛思路.2023美赛数据.2023美赛 ...

最新文章

  1. MySQL之模糊查询
  2. php cannot load service mmap.,php swoole 安装失败
  3. pmbook 知识领域 第六版_PMP项目管理10大知识领域脑图
  4. ocLazyLoad angular 按需加载
  5. .net mysql 类库_(精华)2020年6月27日 C#类库 MySqlHelper(Ado.net数据库封装)
  6. android纹理存储,Android:OpenGL存储纹理多长时间?
  7. php cdr,win10彻底禁止cdr联网
  8. Mysql学习总结(53)——使用MySql开发的Java开发者规范
  9. 凸优化第六章逼近与拟合 6.4鲁棒逼近
  10. 软件开发项目过程管理文档
  11. Cgroup 资源配置方法----------Control Groups------Docker通过 Cgroup 来控制容器使用的资源配额
  12. 通过管道方式(CreatePipe)获取DOS命令行执行后的返回结果
  13. python实现投票问题。
  14. 80C51单片机的指令系统
  15. 【蓝桥杯嵌入式】【STM32】14_CT117E_EXA蓝桥杯嵌入式扩展板硬件资源一览及其驱动编写
  16. Webstorm2019,最新激活码【永久】
  17. 初始化Linux数据盘(fdisk)
  18. 《NLTK基础教程》读书笔记 006期
  19. 网络技术(十一)交换机三种工作模式 hybrid 、trunk、access的深入研究
  20. [第四届-强网杯]:upload

热门文章

  1. OpenSSL命令之算法类大全
  2. 古龙冰洞超级计算机指令,龙族幻想古龙冰洞异闻攻略 古龙冰洞指令介绍
  3. 同余及其性质(Congruence)
  4. php 数独求解,php求解数独
  5. minio数据迁移工具rclone
  6. iOS获取APP在苹果App Store中的最新版本信息
  7. 微信小程序教学管理系统+后台管理系统
  8. 别人都在这个春暖花开的端午节吃粽子,而我在踏青学springboot数据持久化
  9. 苹果历届发布会的邀请函
  10. java内网推送app,java – 使用来自app-engine的Parse发送推送通...