中山大学校队选拔赛第二试题试题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 &#…

vue热更新无法关闭_vue-cli3热更新失效

vue-cli3热更新失效问题公司的一个使用vue-cli3搭建的项目一直无法热更新&#xff0c;每次保存代码后都需要手动刷新页面才能看到修改之后的页面&#xff0c;作为一个强迫症晚期患者&#xff0c;那肯定是忍不了。经过个人研究学习&#xff0c;修复好了项目热更新问题&#xff0…

职高计算机选修6知识点,(计算机基础考试7.doc

试卷编号&#xff1a;9619所属语言&#xff1a;计算机基础试卷方案&#xff1a;WINhy试卷总分&#xff1a;100分共有题型&#xff1a;4种一、单选 共40题 (共计40分)第1题 (1.0分) 题号:5923 难度:中 第81章一个六位的二进制数,如果其最高位和最低位都为1,则在下列十进制数中,可…

python中importlib模块安装_Python中标准模块importlib详解

Python中标准模块importlib详解 模块简介 Python提供了importlib包作为标准库的一部分。目的就是提供Python中import语句的实现&#xff08;以及__import__函数&#xff09;。另外&#xff0c;importlib允许程序员创建他们自定义的对象&#xff0c;可用于引入过程&#xff08;也…

HiveQL:查询

文章目录1. select from1.1 正则表达式指定列1.2 使用列值计算1.3 使用函数1.4 limit 限制返回行数1.5 别名 as name1.6 case when then 语句2. where 语句3. JOIN 优化4. 抽样查询5. union all学自《hive编程指南》 1. select from hive (default)> create table employe…

unity鼠标控制镜头旋转_Unity Camera教程之 摄像机跟随鼠标移动而旋转

FollowMouseMove 脚本具体内容如下&#xff1a;using UnityEngine;public class FollowMouseMove : MonoBehaviour {public float moveSpeed 5.0f;// Use this for initializationvoid Start(){}// Update is called once per framevoid Update(){// 获得鼠标当前位置的X和Yfl…

html里span和div,HTML div和span

块代码和1...ccwTest {font-family: .PingFang SC;">;color:white;margin:18px;padding:16px;}这些是文字这里是内容,改变这些文字的颜色或者是改变其他属性需要写在style里 ccwTest是名字,相当于ios中的对象名 通过这个对象名找到是调用的哪个方法2..span.red {color:…

python闭包详解函数_详解python函数的闭包问题(内部函数与外部函数详述)

python函数的闭包问题&#xff08;内嵌函数&#xff09; >>> def func1(): ... print (func1 running...) ... def func2(): ... print (func2 running...) ... func2() ... >>> func1() func1 running... func2 running... 内部函数func2作用域都在外部函数…

实现一个简单的web服务器

代码&#xff1a;http://www.oschina.net/code/snippet_991746_45911转载于:https://www.cnblogs.com/lit10050528/p/4282771.html

python format 冒号_python之格式化输出

字符串格式化有两种方式&#xff0c;%和format先介绍下%号的方法#%s的语法结构&#xff0c;叫做占位符&#xff0c;就是先占一个位置&#xff0c;然后我们用真实的要显示的数据替换占位符即可#最简单的用法就是下面的方式&#xff0c;其实%s还有其他的功能# s 我的名字是%s,我…

Scala 入门1(变量、分支循环、函数)

文章目录1. var 变量&#xff0c;val常量2. 分支、循环3. 函数、方法4. 闭包学自 https://www.runoob.com/scala/scala-tutorial.html 1. var 变量&#xff0c;val常量 scala 语句 用 ; 或者 \n 分句 object HelloWorld { // 类名跟文件名一致def main(args: Array[String])…

2018qs计算机科学专业,2018QS世界大学计算机科学专业排名.docx

2018QS世界大学计算机科学专业排名在2018世界大学计算机科学与信息系统排名中&#xff0c;牛津大学位列第一&#xff0c;哈佛大学和剑桥大学紧随其后。本排名中&#xff0c;共有2所中国大学进入Top50&#xff0c;北京大学位列第17位&#xff0c;清华大学列 20 位&#xff0c;跟…

http://www.cnblogs.com/langjt/p/4281477.html

http://www.cnblogs.com/langjt/p/4281477.html转载于:https://www.cnblogs.com/outlooking/p/4283320.html

nineoldandroid使用_nineoldandroid 详细使用并且实现drawerlayout侧滑动画

nineoldandroid.view.ViewHelpe是一个为了兼容3.0以下的一个动画开源库相关函数解读&#xff1a;(第一个参数都为动画对象&#xff0c;第二个为动画属性值的变化表达式)ViewHelper.setTranslationX(,);//x方向平移ViewHelper.setTranslationY(,);ViewHelper.setScaleX(,);x方向…

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…

计算机应用基础形考作业3Excel部分,计算机应用基础形考3,Excel部分

“计算机应用基础”形考作业 3(Excel部分)可根据所学知识模块&#xff0c;在下列Excel、PowerPoint或Access中选做一个&#xff0c;我选了Excel (本次作业覆盖“模块 3 Excel 2010 电子表格系统”的内容&#xff0c;请在学完模块3后完成本次作业&#xff0c;要求第17周内完成。…

.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…

Scala 入门2(数组、List、Set、Map、元组、Option、Iterator)

文章目录1. 数组2. List3. Set4. Map5. 元组6. Option7. 迭代器学自 https://www.runoob.com/scala/scala-tutorial.html 1. 数组 使用 () 来取索引处的元素 // 数组var z1 : Array[String] new Array[String](3)var z2 new Array[String](3) // 两种方式定义z1(0) "…

python实现非对称加密算法_Python3非对称加密算法RSA实例详解

本文实例讲述了Python3非对称加密算法RSA。分享给大家供大家参考&#xff0c;具体如下&#xff1a;python3 可以使用 Crypto.PublicKey.RSA 和 rsa 生成公钥、私钥。其中 python3.6 Crypto 库的安装方式请参考前面一篇《Python3对称加密算法AES、DES3》rsa 加解密的库使用 pip3…

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

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