[题解]Codeforces Round #519 - B. Lost Array

【题目】

B. Lost Array

【描述】

Bajtek有一个数组x[0],x[1],...,x[k-1]但被搞丢了,但他知道另一个n+1长的数组a,有a[0]=0,对i=1,2,...,n。由此可以找到数组x[0],x[1],...,x[k-1]的一些可能情况,即满足这个关系的数组x[0],x[1],...,x[k-1]。问一共有多少种可能的数组x[0],x[1],...,x[k-1]的长度k,输出可能的数量以及所有可能的长度k。

数据范围:1<=n<=1000,1<=a[i]<=10^6(这里不包括a[0],默认a[0]=0)

【思路】

 先不考虑数组x是循环的,即不考虑数组x是有限长的,那么由数组a可以反解出与数组a等长的一个数组“x”,我们要找的真正的数组x实际上是这个反解出来的“x”的一个周期,我们要找的就是这个“x”有多少种周期长度。

要验证i是不是“x”的一个周期长度,则将“x”的元素分为i组,即下标模i相同的分到一组,检查每一组从前往后数第某个元素是不是都是相同的。这里复杂度是O(n)的。

对i进行枚举,即可找到所有可能的周期长度。至此复杂度为O(n^2)。

【我的实现】

 复杂度:O(n^2)

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 #include <cstring>
 5 
 6 using namespace std;
 7 #define MaxN 1020
 8 int x[MaxN];
 9 int Ans[MaxN];
10 
11 int main()
12 {
13     int n;
14     int a, pre_a = 0;
15     int i, j, k;
16     //int cur;
17     bool flag;
18     scanf("%d", &n);
19     for(i = 1; i <= n; i++)
20     {
21         scanf("%d", &a);
22         x[i-1] = a - pre_a;
23         pre_a = a;
24     }
25     for(i = 1; i <= n; i++) //step = i
26     {
27         flag = false;
28         for(j = 0; j < i; j++) //start at j for each zhouqi
29         {
30             for(k = j; k < n; k += i)
31             {
32                 if(k > j && x[k] != x[k-i])
33                 {
34                     flag = true;
35                     break;
36                 }
37             }
38             if(flag)
39                 break;
40         }
41         if(!flag)
42             Ans[++Ans[0]] = i;
43     }
44     printf("%d\n", Ans[0]);
45     for(i = 1; i <= Ans[0]; i++)
46         printf("%d ", Ans[i]);
47     return 0;
48 }
View Code

【评测结果】

 

转载于:https://www.cnblogs.com/CQBZOIer-zyy/p/9873846.html

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

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

相关文章

LeetCode 24 Swap Nodes in Pairs (交换相邻节点)

题目链接&#xff1a; https://leetcode.com/problems/swap-nodes-in-pairs/?tabDescriptionProblem: 交换相邻的两个节点如上图所示&#xff0c;递归进行交换。从最尾端开始&#xff0c;当最尾端只有一个节点时&#xff0c;停止交换否则执行 swap(head.next) 参考代码&#x…

Netra基于Rdk平台的软件框架设计

Netra&#xff08;DM8168&#xff09;处理器是个多核处理器&#xff0c;每个核之间相互独立却又相互关联&#xff0c;如何高效简洁地利用每个核完成一套系统功能是非常关键的&#xff0c;RDK这套软件平台就是针对这种多核平台设计的一套多通道视频应用方案&#xff0c;主要用于…

电感啸叫原因与应对措施

大部分硬件工程师应该都遇到过,PCBA上电后出现“滋滋滋”的叫声,其声响或大或小,或时有时无,或深沉或刺耳,或变化无常者皆有。该现象我们称为“啸叫”,一般分为电感啸叫和电容啸叫。 其中电感啸叫最为常见,尤其在DCDC电路中,大部分是因为 器件参数选择不合理 导致的。…

Android Fragment完全解析,关于碎片你所需知道的一切

我们都知道&#xff0c;Android上的界面展示都是通过Activity实现的&#xff0c;Activity实在是太常用了&#xff0c;我相信大家都已经非常熟悉了&#xff0c;这里就不再赘述。 但是Activity也有它的局限性&#xff0c;同样的界面在手机上显示可能很好看&#xff0c;在平板上就…

图像--摄像头组成与基本参数

基本组成 Sensor: 图象传感器 FPC: 电路板 IR:红外滤波片 Holder:基座 Lens:镜头 其他 核心部件&#xff1a;1- SENSOR 2- LENS Sensor参数 类别 指标 参考 备注 Sensor 厂家 sony 三星 OV 格科微由原厂提供完整规格书和型号 低像素需要注意 分辨率 0.3MP (VGA)模组…

1.I2C协议

1.I2C协议2条双向串行线&#xff0c;一条数据线SDA&#xff0c;一条时钟线SCL。SDA传输数据是大端传输&#xff0c;每次传输8bit&#xff0c;即一字节。支持多主控(multimastering)&#xff0c;任何时间点只能有一个主控。总线上每个设备都有自己的一个addr&#xff0c;共7个bi…

图像--摄像头数据输出格式与传输接口

一、 数据输出格式 RAW data 格式: CMOS 在将光信号转换为电信号时的电平高低的原始记录&#xff0c;单纯地将没有进行任何处理的图像数据&#xff0c;即摄像元件直接得到的电信号进行数字化处理而得到的。 每个pixel只能感光R光或者B光或者G光&am…

怎么建立微信生态用户增长模型?

微信最新数据及中国网民最新数据概述截止到2018年&#xff0c;移动网民用户增长放缓&#xff0c;接近人口大盘。微信作为全国移动网民的一款超级应用&#xff0c;在移动网民的***率超过90%。微信最近一年的新增用户主要来自中老年用户群体和乡镇用户群体***。易观最新发布的8月…

图像-摄像头驱动流程

驱动架构 在Kernel层用camera的驱动将其驱动起来以后&#xff0c;将硬件驱动接口交给Hal&#xff1b; 上层的camera应用程序在andriod实时系统的虚拟机中&#xff0c;加载留给camera公用的库文 件&#xff0c;调用Hal层的接口来控制camera硬件来实现功能。 驱动流程 打开came…

RK瑞芯微WIFI模组2020最新支持列表,放心使用!

如下所示为RK瑞芯微2020最新支持的WIFIBT模组列表&#xff0c;请参考&#xff01; 标题希望对选型有所帮助&#xff0c;避免踩坑&#xff0c;坑驱动工程师&#xff01; 有事要搞&#xff0c;请私聊&#xff01;

数据类型进阶

----------siwuxie095 1、整数类型 如果去掉注释&#xff0c;报错&#xff1a;Type mismatch: cannot convert from into byte 即 不能把 int 类型转换成 byte 类型 如果选择 Add cast to byte&#xff1a; 即 把 b13 的结果&#xff08;默认为 int 类型&#xff09;强制转换成…

海华模组:WIFI、BT、SoC模组列表

各种模块广泛应用于网络摄像头、智能机器人、儿童故事机、词典笔、智能音箱、智能家电等需要实现无线联网设备的消费类电子产品。 模块化有很大的有点&#xff1a;集成设计、减少调试工作&#xff0c;避开开发盲区、加速将产品推向市场&#xff01; 下面介绍下海华各类通讯模…

JAVA-初步认识-第七章-构造函数和一般函数的区别

一. 构造函数是对象一创建&#xff0c;就被调用了。(调用这个词很特殊&#xff0c;是涉及到实体时&#xff0c;才会有调用的过程) 还有一点想说的是&#xff0c;构造函数的声明应该是固定的&#xff0c;不然没法随着对象的创建一起执行&#xff0c;必须是类名括号的形式。 二. …

深入理解哈希表

转自&#xff1a;https://bestswifter.com/hashtable/ 这篇文章由一个简单的问题引出: 有两个字典&#xff0c;分别存有 100 条数据和 10000 条数据&#xff0c;如果用一个不存在的 key 去查找数据&#xff0c;在哪个字典中速度更快&#xff1f; 有些计算机常识的读者都会立刻回…

正基模组:WIFI/BT/GPS/FM模组列表

各种模块广泛应用于网络摄像头、智能机器人、儿童故事机、词典笔、智能音箱、智能家电等需要实现无线联网设备的消费类电子产品。 模组由于其特性&#xff0c;给终端硬件开发带来巨大的便利性和实用性&#xff0c;具体小结如下&#xff1a; Feature特点:1. 模块均采用邮票孔形…

杨幂掐点祝福唐嫣,打破不和传言,情感营销还能这么玩?

发现今天的蜂蜜泡水特别地甜&#xff0c;舍友说&#xff0c;同样地蜂蜜同样多的水泡出来的水有什么不一样&#xff0c;肯定是你心情变好了。说得好像也有道理&#xff0c;想想最近这么多甜蜜的事&#xff0c;一开始是颖宝结婚&#xff0c;不久唐嫣和罗晋也宣布结婚&#xff0c;…

RTP/RTCP协议介绍

1流媒体协议 当前在Internet上传输音频和视频等信息主要有两种方式&#xff1a;下载和流式传输。 下载情况下&#xff0c;用户需要先下载整个媒体文件到本地&#xff0c;然后才能播放媒体文件。流式传输是指传输之前首先对多媒体进行预处理(降低质量和高效压缩)&#xff0c;然后…

推荐一款软件(作业)

在过去&#xff0c;每当我遇见不认识的英文单词时我的解决方法是:查阅英汉词典&#xff0c;后来在我拥有手机之后&#xff0c;我的解决方法是&#xff1a;上网百度&#xff0c;而现在我的解决方法是&#xff1a;“有道翻译官”。是的&#xff0c;我要介绍的这款软件便是“有道翻…

网易有道最新力作 有道词典笔3 结构拆解

2020年12月1日&#xff0c;有道品牌推出了一款硬件新品&#xff0c;名叫有道词典笔3。 网易有道于2019年8月推出可以“一扫查词”的有道词典笔2代&#xff0c;搭载了OCR&#xff08;光学字符识别&#xff09;技术的产品&#xff0c;大大改变了传统的学习方式&#xff0c;查词效…

有道词典笔3新增功能扫读和点读是怎么集成的?

2020年12月1日&#xff0c;有道品牌推出了一款硬件新品&#xff0c;名叫有道词典笔3。 相对有道于2019年8月推出后来被称为“爆品”的有道词典笔2来说&#xff0c;有道3硬件最大最明显差别是屏幕变的更大了&#xff0c;同时增加了点读功能&#xff08;点读笔点读特定教材的功能…