中山大学校队选拔赛第二试题试题3【Compressed suffix array】-------2015年2月8日

一:题目大意

本题通过给定三个数组S0,P,S,其中S0是1到2n的一个排列,P具有2n个整数,且满足:

数组S是把数组S0中所有奇数元素全部删除并将所有偶数元素除以2并按照原来的相对顺序进行排列而得。

现在给定数组S和数组P,我们需要反求数组S0。

二:题目分析

我们通过对数组P的递推式分析可知:当数组S0的元素是偶数时,这个元素所对应的Pi的值一定等于i.当数组S0的元素为奇数时,我们可以知道对应的Pi一定不等于i。那么我们可以先对数组P扫一遍,把存在Pi=i的元素全部填好,然后再对数组P重新扫描一遍,把所有奇数位置的元素通过如下公式求得并填好:

         

最后就是对数组进行输出了。over~

三:AC代码

 

#include<iostream>
using namespace std;
int ans[1<<14],s[1<<14],p[1<<14];
int main()
{int n;while(cin>>n){for(int i=0;i<n;i++)cin>>p[i];for(int i=0;i<n/2;i++)cin>>s[i];int k=0;for(int i=0;i<n;i++){if(p[i]==i+1){ans[i]=s[k++]*2;}}for(int i=0;i<n;i++){if(p[i]!=i+1){ans[i]=ans[p[i]-1]-1;}}int i;for( i=0;i<n-1;i++)cout<<ans[i]<<' ';cout<<ans[i]<<endl;}return 0;
}

 

四:总结

本题就是逆向思维的运用,以及对找到数组之间的规律的综合体现。

 

转载于:https://www.cnblogs.com/khbcsu/p/4280166.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472391.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1825. 求出 MK 平均值(set + queue)

文章目录1. 题目2. 解题1. 题目 给你两个整数 m 和 k &#xff0c;以及数据流形式的若干整数。 你需要实现一个数据结构&#xff0c;计算这个数据流的 MK 平均值 。 MK 平均值 按照如下步骤计算&#xff1a; 如果数据流中的整数少于 m 个&#xff0c;MK 平均值 为 -1 &#…

maven deploy plugin_Maven快速上手

作者&#xff1a;u_7deeb657158f出自&#xff1a;ITPUB博客原文&#xff1a;blog.itpub.net/69956102/viewspace-2726121/创建项目首先需要创建一个用于存储项目的文件夹&#xff0c;在控制台中输入以下命令&#xff1a;mvn archetype:generate -DgroupIdcom.mycompany.app -Da…

.net string format

转自&#xff1a;http://www.cnblogs.com/jobs2/p/3948049.html 转自&#xff1a;http://jingyan.baidu.com/article/48206aeaf8c52f216ad6b300.html 1、格式化货币&#xff08;跟系统的环境有关&#xff0c;中文系统默认格式化人民币&#xff0c;英文系统格式化美元&#xff0…

python画饼图_百度飞桨PaddlePaddle之[Python小白逆袭大神]7天训练营

第三次参加百度的7天训练营了这次参加的主题是【Python小白逆袭大神】&#xff0c;不过你别看是小白逆势。。。除非你一开始参加就逆袭完&#xff0c;不然你真的是python小白&#xff0c;这个课程还是有难难度的。说一下个训练营的特点版。这个营从python一些基础练习-->数据…

潍坊学院的计算机类怎么样,潍坊学院教育技术学专业怎么样?有知道的麻烦说下,谢谢!...

潍坊学院教育技术学专业怎么样&#xff1f;有知道的麻烦说下&#xff0c;谢谢&#xff01;以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;潍坊学院教育技术学专业怎么样&#xff1f;有知道的…

c++ class struct同名_C/C++面向对象编程之封装

点击“蓝字”关注我们吧前言&#xff1a;何为面向过程&#xff1a;面向过程&#xff0c;本质是“顺序&#xff0c;循环&#xff0c;分支” 面向过程开发&#xff0c;就像是总有人问你要后续的计划一样&#xff0c;下一步做什么&#xff0c;再下一步做什么&#xff0c;意外、事物…

LeetCode 1718. 构建字典序最大的可行序列(贪心+回溯)

文章目录1. 题目2. 解题1. 题目 给你一个整数 n &#xff0c;请你找到满足下面条件的一个序列&#xff1a; 整数 1 在序列中只出现一次。2 到 n 之间每个整数都恰好出现两次。对于每个 2 到 n 之间的整数 i &#xff0c;两个 i 之间出现的距离恰好为 i 。 序列里面两个数 a[…

static函数

// 以下摘自网络 静态函数在函数的返回类型前加上关键字static&#xff0c;函数就被定义成为静态函数。函数的定义和声明默认情况下是extern的&#xff0c;但静态函数只是在声明他的文件当中可见&#xff0c;不能被其他文件所用。定义静态函数的好处&#xff1a;<1> 其他…

操作系统是计算机的什么管理者,操作系统是计算机资源的管理者

由计算机提供的、因应用程序的存在和运行所消耗或占用的物质条件&#xff0c;叫做计算机的资 源&#xff0c;例如处理器的时间、内存空间、外部设各等。为了有效地利用计算机的各种资源&#xff0c;操作系统 必须为用户承担起对计算机资源的管理任务。例如&#xff0c;为了使应…

python文件流读取二进制_Python使用web.py从POST请求中提取二进制文件

I am developing an API that allows outside clients to send a binary file which will be processed. my web.data() is a string and the function I am calling requires a binary. How do I get it into the correct format? Maybe I have the incorrect Headers? how …

LeetCode 1828. 统计一个圆中点的数目

文章目录1. 题目2. 解题1. 题目 给你一个数组 points &#xff0c;其中 points[i] [xi, yi] &#xff0c;表示第 i 个点在二维平面上的坐标。多个点可能会有 相同 的坐标。 同时给你一个数组 queries &#xff0c;其中 queries[j] [xj, yj, rj] &#xff0c;表示一个圆心在…

LeetCode 1829. 每个查询的最大异或值(前缀异或 + 位运算)

文章目录1. 题目2. 解题1. 题目 给你一个 有序 数组 nums &#xff0c;它由 n 个非负整数组成&#xff0c;同时给你一个整数 maximumBit 。你需要执行以下查询 n 次&#xff1a; 找到一个非负整数 k < 2^maximumBit &#xff0c;使得 nums[0] XOR nums[1] XOR ... XOR num…

python的运行环境_python-运行环境配置-1

Linux下安装Python3.6和第三方库 如果本机安装了python2&#xff0c;尽量不要管他&#xff0c;使用python3运行python脚本就好&#xff0c;因为可能有程序依赖目前的python2环境&#xff0c; 比如yum&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 不要动现有的…

计算机主板最常见的问题,计算机主板功能 电脑实用技巧解决常见问题

电脑实用技巧解决常见问题1.解决问题 插电即开机问题现象&#xff1a;有些朋友有关机后断开电源板电源的习惯&#xff0c;可是却常常被一个问题困扰&#xff0c;就是电源板一通电&#xff0c;计算机就自动开机了&#xff0c;Power键形同虚设。解决问题&#xff1a;有些主板在BI…

zeal刷新不出来_饥荒:游戏中的这些事物都是无中生有,几乎可以无限制刷新!...

在饥荒这款经典的生存类游戏中&#xff0c;其事物的“刷新”和许多其他的生存游戏不太一样&#xff0c;有些生存游戏的事物刷新是定时定量的&#xff0c;而饥荒则不完全&#xff0c;就拿牛群来形容&#xff0c;他们必须要有多个成年的牛进行繁殖才会出现新的牛&#xff0c;而像…

c盘清理代码_拒接卡顿,从c盘减负、系统修复及网络加速做起!奥利~~~

你是否有过系统卡顿&#xff0c;C盘饱满&#xff1f;你是否有过蓝屏、闪退&#xff1f;你是否有过网络爆卡&#xff1f;今天&#xff0c;他来了&#xff0c;一篇文章教会你清理C盘、修复系统、网络加速&#xff01;&#xff01;&#xff01;首先&#xff0c;按下winr键&#xf…

LeetCode 1833. 雪糕的最大数量(贪心)

文章目录1. 题目2. 解题1. 题目 夏日炎炎&#xff0c;小男孩 Tony 想买一些雪糕消消暑。 商店中新到 n 支雪糕&#xff0c;用长度为 n 的数组 costs 表示雪糕的定价&#xff0c;其中 costs[i] 表示第 i 支雪糕的现金价格。 Tony 一共有 coins 现金可以用于消费&#xff0c;他…

用递归计算一个数字每一位相加的结果。_leetcode 2 两数相加(c++)

两种解法&#xff0c;第一种是在原有的两个链表中选择更长的那个作为结果返回&#xff0c;虽然节约了空间&#xff0c;但是增加了时间复杂度&#xff0c;而且没有用到如何设置链表的增加与删除&#xff0c;第二种看起来清爽很多&#xff0c;逻辑也清晰。### 题目给出两个非空的…

LeetCode 1834. 单线程 CPU(排序 + 优先队列)

文章目录1. 题目2. 解题1. 题目 给你一个二维数组 tasks &#xff0c;用于表示 n​​​​​​ 项从 0 到 n - 1 编号的任务。 其中 tasks[i] [enqueueTimei, processingTimei] 意味着第 i​​​​​​​​​​ 项任务将会于 enqueueTimei 时进入任务队列&#xff0c;需要 pro…

服务器支持磁盘阵列,服务器磁盘阵列、RAID级别的阐述

磁盘阵列磁盘阵列(Redundant Arrays of Independent Disks&#xff0c;RAID)&#xff0c;有“独立磁盘构成的具有冗余能力的阵列”之意。磁盘阵列是由很多价格较便宜的磁盘&#xff0c;组合成一个容量巨大的磁盘组&#xff0c;利用个别磁盘提供数据所产生加成效果提升整个磁盘系…