首页
比赛
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
小睿睿的数列
5条解析
开通博客写题解
EternalEpic
发表于 2020-08-22 01:03:31
扫描法,以当前数为gcd进行扩展,找到合法的l和r。 可是这样会TLE,我们考虑如果向左延伸到相同的数,那么代表这个数能扩展的区间已经被标记过,就无需再做了。 code: const int Maxn = 2e6 + 5; int n, a[Maxn], ans = 0, anscnt = 0; s
展开全文
__故人__
发表于 2020-09-15 09:40:07
分析 对于整个数列,因为每一个数只能被一个区间覆盖,所以考虑求出每个数的延伸范围。复杂度 。 代码 #include<bits/stdc++.h> using namespace std; const int N = 2e6 + 100; int read() {int x;scanf
展开全文
Dear㉿You
发表于 2020-09-09 08:27:47
前言 初,遇题甚恐,不知何以解之。一暴以试,得AC,作此篇 分析 别学数据结构学傻了 我们对于每一个点,可以向左扩展最长能满足条件的区间,然后再向右扩展。但是如果不作些许操作,万一这个序列是10000个1,这样跑就是n^2,直接飞起(但是数据不太强,也可以过)。于是可以记录一个lm[i],r
展开全文
Acapplella
发表于 2020-09-13 11:43:13
#include<bits/stdc++.h> typedef long long ll; using namespace std; #define INF 0x3f3f3f3f const int maxn =2e6+5; #define mod 1000000007 using na
展开全文
bai_qi
发表于 2020-09-16 13:40:07
题目描述小睿睿给了你一个长度为n的数列,他想问你该数列中满足条件(区间内存在某个数是区间内所有数的公因数)的最长区间有多少个思路:假设当前这个数为公因数,然后向前向后搜,搜过的点不可能存在更长的符合条件的区间了就不用搜了,所以复杂度不高。代码: #include <iostream> #
展开全文
查看本题
查看本题讨论
相关比赛
6944-牛客挑战赛42
进入比赛
7320-牛客挑战赛42(重现赛)@Jackyhate
进入比赛
等你来战
查看全部
牛客周赛 Round 98
报名截止时间:2025-06-29 21:00
金山杯2025年武汉理工大学程序设计竞赛
报名截止时间:2025-06-30 15:00
牛客小白月赛119
报名截止时间:2025-07-04 21:00
牛客周赛 Round 99
报名截止时间:2025-07-06 21:00
牛客练习赛142
报名截止时间:2025-07-11 21:30
牛客周赛 Round 100
报名截止时间:2025-07-13 21:00
2025牛客暑期多校训练营1
报名截止时间:2025-07-15 17:00
2025牛客暑期多校训练营2
报名截止时间:2025-07-17 17:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题