NOIP模拟题——LGTB与序列
LGTB 得到了一个序列,他想在这个序列中选择一个最长的连续子序列,使得这个子序列的最大公约数等于
1。请告诉他他能得到的最大长度,如果没有这样的序列,输出?1
输入
输入第一行包含一个整数n 代表序列大小
接下来一行,包含n 个整数a1, a2, ..., an,代表序列
对于50% 的数据,1 n 1000
对于100% 的数据,1 n 105 1 ai 109
输出
输出包含一个整数l,代表最长的连续子序列,如果无解请输出?1
样例
样例输入 样例输出
2 2
7 2
样例输入 样例输出
3 -1
2 2 4
找规律,若存在子序列最大公因数为1,则最大子序列就是原序列总长。
所以只用判断原序列是否满足,依次gcd。注意特判n=1(虽然我觉得这不可能,因为n=1不存在公因数,但数据有2个都是n=1。。)
1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<cmath> 5 #include<cstdlib> 6 using namespace std; 7 const int maxn=100005; 8 int a[maxn]; 9 int n; 10 int gcd(int x,int y) 11 { 12 if(y==0)return x; 13 return gcd(y,x%y); 14 } 15 int main() 16 { 17 freopen("seq.in","r",stdin); 18 freopen("seq.out","w",stdout); 19 scanf("%d",&n); 20 for(int i=1;i<=n;i++) 21 scanf("%d",&a[i]); 22 if(n==1&&a[1]==1) 23 { 24 printf("1"); 25 return 0; 26 } 27 int k=a[1]; 28 int temp=1; 29 while(temp<n) 30 { 31 temp++; 32 k=gcd(k,a[temp]); 33 if(k==1) 34 { 35 printf("%d",n); 36 exit(0); 37 } 38 } 39 printf("-1"); 40 return 0; 41 }
转载于:https://www.cnblogs.com/937337156Zhang/p/6069339.html
NOIP模拟题——LGTB与序列相关推荐
- 闵梓轩大佬のnoip模拟题D1 总结 2017/10/26
背景 题目概括 T1 题面 分析 90分算法 满分算法 T2 题面 分析 部分分算法 满分算法 满分代码 T3 题面 分析 代码 总结 背景 这道题目是去年的金牌大佬闵梓轩在一年前出的一套noip模拟 ...
- NOIp模拟题 之 肮脏的牧师 (桶排序)
闲话: 考场上看到了这一题,简直令我震惊!啊!居然还有真么简单的模拟题!良心啊! 而且,还是我 痴迷的 熟悉的游戏 -- 欧气传说 炉石传说! (话说题面的那三张卡都贼 恶心 好用!都可以在前期打出 ...
- NOIP模拟题 括号序列
题目描述 课堂上,Felix 刚刚学习了关于括号序列的知识.括号序列是一个只由左括号"(" 和右括号")"构成的序列: 进一步的, 一个合法的括号序列是指左括号 ...
- 一些noip模拟题一句话题解
Problem A: 序列 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 12 Solved: 9 [Submit][Status][Web Bo ...
- 【noip模拟题】天神下凡(贪心)
vijos某次模拟赛原题... 处理出每个圆的一级祖先就行了... 其实没有那么麻烦,贪心即可出解. 我们将每个圆转换成线段后按左端点小右端点大的方法排序 然后维护一个栈: 对于每一个圆i 如果栈顶右 ...
- noip模拟题11.5
T1 大天使之剑 [问题描述] 小A在游戏⾥打怪.有⼀次,他⼀下⼦遇到了n个怪物. 每个怪物有一个生命值,第i个怪物的生命值是h_i.而小A除了生命值之外,还有一个属性是魔法值m. 小A和怪物们依次行 ...
- 【noip模拟题】迎接仪式(dp+特殊的技巧)
好神的一题... 这是一道DP题,本题的难点在于状态的确定,由于调整是任意的,很难划分状态,我们略微修改一下调整的形式:把一次'j'和'z'交换看做两次变换:'j'->'z';'z'->' ...
- NOIP模拟题 斐波那契数列
题目大意 给定长度为$n$序列$A$,将它划分成尽可能少的若干部分,使得任意部分内两两之和均不为斐波那契数列中的某一项. 题解 不难发现$2\times 10^9$之内的斐波那契数不超过$50$个 先 ...
- noip模拟题 ----飞
本题的空间限制是32MB 可以发现实际上就是要求有多少对线段产生了相交 又因为y轴上是升序,所以就是求产生的序列中,有多少个逆序对 可以发现因为数据生成的方法是有迹可循的,我们可以将值域分块 每a的长 ...
- NOIP模拟题——来自风平浪静的明天
[题目描述] 冬眠了五年,光终于从梦中醒来. 千咲.要,大家都在. 隐约记得"昨天"的海船祭,爱花意外成为贡女,沉入海底. 海面冰封,却有丝丝暖流在冰面之下涌动. 此时,爱花沉睡在 ...
最新文章
- 通俗易懂!使用Excel和TF实现Transformer
- PC/UVA 110207/10258
- blender, 创建多边形面片
- Spark on K8S 的几种模式
- CSS中的border-radius属性
- 【CodeForces - 1041D】Glider (枚举起点,双指针 或 二分终点,思维)(知识点总结)
- RabbitMQ实例教程:发布/订阅者消息队列
- centos mysql无法启动 sock_【零基础学云计算】MYSQL的主从复制、读写分离
- Excel2019画正态分布图和正态曲线组合图
- 《Dreamweaver CS6 完全自学教程》笔记 第二章:Dreamweaver CS6 入门
- python绘制奥运五环
- 鸿蒙曰蜉蝣不知所求,《庄子》释解(五七):浮游不知所求,猖狂不知所往
- 在小程序可以完成任务的情况下,为什么程序员非要编写大程序呢?
- Android图形图像处理:马赛克(Mosaic)效果【直接可用】
- CUDA out of memory. Tried to allocate 150.00 MiB (GPU 0; 4.00 GiB total capacity; 2.24 GiB already a
- 任务调度之Elastic-Job
- 微信气泡主题设置_微信皮肤主题怎么弄 微信设置更换修改气泡和主题教程
- 原来勾股定理可以这样证!
- 二叉树的性质及其创建
- Android KitCat 4.4.2 ADB 官方所支持的所有Services格式翻译