牛客24479 小睿睿的数列
题目链接
一、题意
一个长度为n的数列a,他想问你该数列中满足条件(区间内存在某个数是区间内所有数的公因数)的最长区间有多少个。
数据范围:
二、题解
发现把 这个区间分割为了若干个不相交的区间。
对于分割后的区间,每个数都是区间最小值的倍数。
时间复杂度:
三、代码
#include<bits/stdc++.h>
#define pb push_back
#define fi first
#define se second
#define sz(x) (int)x.size()
#define cl(x) x.clear()
#define all(x) x.begin() , x.end()
#define rep(i , x , n) for(int i = x ; i <= n ; i ++)
#define per(i , n , x) for(int i = n ; i >= x ; i --)
#define mem0(x) memset(x , 0 , sizeof(x))
#define mem_1(x) memset(x , -1 , sizeof(x))
#define mem_inf(x) memset(x , 0x3f , sizeof(x))
#define debug(x) cerr << #x << " = " << x << '\n'
#define ddebug(x , y) cerr << #x << " = " << x << " " << #y << " = " << y << '\n'
#define ios std::ios::sync_with_stdio(false) , cin.tie(0)
using namespace std ;
typedef long long ll ;
typedef long double ld ;
typedef pair<int , int> pii ;
typedef pair<ll , ll> pll ;
const int mod = 998244353 ;
const int maxn = 2e6 + 10 ;
const int inf = 0x3f3f3f3f ;
const double eps = 1e-6 ;
mt19937 rnd(chrono::high_resolution_clock::now().time_since_epoch().count()) ;
int n , a[maxn] ;
int max1 = 0 , cnt = 0 ;
int main()
{ios ;cin >> n ;rep(i , 1 , n) cin >> a[i] ;rep(i , 1 , n){int j = i ;int min1 = a[i] ;while(j + 1 <= n){if(a[j + 1] > min1 && a[j + 1] % min1 != 0) break ;if(a[j + 1] < min1 && min1 % a[j + 1] != 0) break ;min1 = min(min1 , a[j + 1]) ;j ++ ;}if(j - i + 1 > max1) max1 = j - i + 1 , cnt = 1 ; else if(j - i + 1 == max1) cnt ++ ;i = j ;}cout << cnt << '\n' ;return 0 ;
}
牛客24479 小睿睿的数列相关推荐
- 牛客网 斐波那契数列
剑指offer 牛客网 斐波那契数列 # -*- coding: utf-8 -*- """ Created on Mon Apr 8 15:35:14 2019@aut ...
- 牛客网-小周的曲射炮
牛客网-小周的曲射炮(公式推导) 题目描述 小周最近在玩一款二战游戏,他因而对曲射炮的轨迹产生了很大的兴趣,但是在尝试计算后,小周发现这个问题并不是那么简单,他因而来请教你这位计算机高手,请你来帮帮他 ...
- 【牛客CMB2 小招喵跑步】
牛客CMB2 小招喵跑步 题目 解题思路 代码实例 运行代码 题目 小招喵喜欢在数轴上跑来跑去,假设它现在站在点n处,它只会3种走法,分别是: 1.数轴上向前走一步,即n=n+1 2.数轴上向后走一步 ...
- 牛客网 小睿睿的方案 解题报告
小睿睿的方案 链接: https://ac.nowcoder.com/acm/contest/371/C 来源:牛客网 题目描述 小睿睿虽然已经是人生赢家了,但当他看见学校里其他人秀恩爱时仍旧会十分不 ...
- 牛客网-斐波那契数列
牛客网编程题–>大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0),其中n<=39. 用递归结构写斐波那契数列. #include < ...
- C++初阶习题(牛客)【4】Fibonacci数列
题目描述 牛客网链接 Fibonacci数列是这样定义的: F[0] = 0 F[1] = 1 for each i ≥ 2: F[i] = F[i-1] + F[i-2] 因此,Fibonacci数 ...
- 牛客网 - 小乐乐打游戏(BFS)
链接:https://ac.nowcoder.com/acm/contest/301/G 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...
- 牛客网小bai月赛40
牛客网小白月赛40 A 数字游戏 B 跳跳跳 D 优美字符串 E 分组 F 过桥 G 空调遥控 I 体操队形 牛客比赛页面跳转 这是一篇菜鸟的自我总结,大佬勿喷,轻点轻点~ A 数字游戏 题目意思: ...
- 刷题记录:牛客NC15162小H的询问
传送门:牛客 题目描述: 小H给你一个数组{a},要求支持以下两种操作: 1. 0 l r(1<=l<=r<=n),询问区间[l,r]中权值和最大的有效子区间的权值和,一个子区间被认 ...
最新文章
- python爬虫-异常处理
- Android AudioTrack/AudioRecord -wav文件读取3
- 数据分析之pandas笔记
- mvp关联activity生命周期_Android MVP架构从入门到精通-真枪实弹
- Latex 中cite的使用
- 树莓派学习路程No.2 GPIO功能初识 wiringPi安装
- 传输层协议(12):拥塞控制(1)
- mysql sqlyog 1045_sqlyog错误代码1045
- Idea利用JSP模板设置统一路径(basePath)
- JUCE框架教程(8)——DSP Module基础
- 2022年 会员管理的五大趋势
- Cannot access a disposed object. A common cause of this error is disposing a context that ...问题解决
- sinx泰勒展开_利用泰勒公式求极限,函数需要展开到第几阶?
- java多线程概念、实现、状态和生命周期、同步、通信
- AIX命令创建JFS2的LV及FS(非smitty交互模式)
- 安全狗等级保护建设服务内容有哪些?
- 密态数字经济:用密码去“深海淘珍珠”
- android 人脸检测 对焦,Android API教程:人脸检测(上)
- 纺织厂布匹唛头标签快速打印系统
- 浪潮服务器通过DHCP获取地址进入IPMI,BMC管理后台的方法,可实现远程安装系统、温度运行状态监测、风扇转速调整、远程开关机、KVM控制台显示器等功能