正题


题目大意

nnn个数,求一对(i,j)(i,j)(i,j)要求最大化max{ai,aj}%min{ai,aj}max\{a_i,a_j\}\% min\{a_i,a_j\}max{ai​,aj​}%min{ai​,aj​}


解题思路

我们考虑枚举小的那一个iii,显然在ki∼k(i+1)−1ki\sim k(i+1)-1ki∼k(i+1)−1这段范围都是要减去一个kikiki。RMQRMQRMQ查询最大值即可。

时间复杂度O(nlog⁡n)O(n\log n)O(nlogn)


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cctype>
using namespace std;
const int N=1e6;
int read() {int x=0,f=1; char c=getchar();while(!isdigit(c)) {if(c=='-')f=-f;c=getchar();}while(isdigit(c)) x=(x<<1)+(x<<3)+c-48,c=getchar();return x*f;
}
int n,ans,lg[N+10],f[N+10][21];
int get_min(int l,int r){if(r>N)r=N;int z=lg[r-l+1];return max(f[l][z],f[r-(1<<z)+1][z]);
}
int main()
{//  freopen("data.txt","r",stdin);n=read();for(int i=2;i<=N;i++)lg[i]=lg[i>>1]+1;for(int i=1;i<=n;i++){int x=read();f[x][0]=x;}for(int j=1;j<=20;j++)for(int i=1;i+(1<<j)-1<=N;i++)f[i][j]=max(f[i][j-1],f[i+(1<<(j-1))][j-1]);for(int i=1;i<=N;i++)if(f[i][0]){for(int j=i;j<=N;j+=i)ans=max(ans,get_min(j,j+i-1)-j);}printf("%d",ans);
}

[2020.10.30NOIP模拟赛]小鱼吃大鱼【RMQ】相关推荐

  1. [2020.10.30NOIP模拟赛]字符串水题【SA,树状数组】

    正题 题目大意 一个字符串SSS. 若干个询问,每次询问一个串TTT和l,rl,rl,r.询问有多少个TTT和SSS的公共子串满足和为[l,r][l,r][l,r] 解题思路 考虑枚举子串左端,那么右 ...

  2. 2020/10/31模拟赛

    CSP第二轮前模拟赛 我太菜了 T1 题目描述 奶牛们对围栏的高度非常敏感.奶牛希望围栏高度既不太矮以至于他们没有安全感,也不太高以至于她们看不见围栏外的天地.所以每头奶牛都有自己喜欢的高度.奶牛有N ...

  3. [2020.10.25NOIP模拟赛]序列【Splay】

    正题 题目链接:https://www.luogu.com.cn/problem/U136336?contestId=36038 题目大意 第iii次找到第iii大的数字位置xix_ixi​并且翻转[ ...

  4. 2020.03.18模拟赛17(第二题)

    2.[GDKOI训练]音乐节拍(mnotes) 题目描述 FJ准备教他的奶牛弹奏一首歌曲,歌曲由N(1<=N<=50,000)种音节组成,编号为1到N,而且一定按照从1到N的顺序进行弹奏, ...

  5. 2020.03.18模拟赛17(第三题)

    3.[GDKOI训练]电视游戏问题(vidgame) 题目描述 农夫约翰的奶牛们游戏成瘾!本来FJ是想要按照陶教授的做法拿她们去电击戒瘾的,可是后来他发现奶牛们玩游戏之后比原先产更多的奶.很明显,这是 ...

  6. 2020.03.11模拟赛15(第一题)

    1.水果盛宴(fruit) 题目描述 贝茜又再一次地闯入了 Farmer John 的房子!她在厨房发现了一堆柠檬和一堆橘子(每堆都有无限多个),并且,她希望尽可能地多吃. 贝茜的有一个饱腹值上限 T ...

  7. 2018.10.9模拟赛

    2018.10.9模拟赛 T1 trade 正解:贪心 据说lyd讲过但并没有印象QAQ,考场上现推浪费了不少时间 其实就开个小根堆,每次把堆顶取出来看它是不是比当前的 a[i]a[i]a[i] 小, ...

  8. 2020蓝桥杯模拟赛题目解析(上)

    下午参加了省的模拟赛,感觉有点难,还是来总结一下,第一次写博客,欢迎各位大佬指点 这一篇一共五道题目 1.计算字节 2.合法括号序列 3.无向连通图的边 4.字母排序 5.反倍数 第一题 问题描述 在 ...

  9. 8月10日模拟赛题解

    前言 这次模拟赛应该是暑假以来最水的一场了,然而本来至少 210210210 的分数愣是被我弄成了 141141141,原因竟然是: const int MAXM = 5e5 + 5;struct e ...

最新文章

  1. linux 光驱挂载
  2. 机器学习实战第一步:特征选择与特征工程「附代码」
  3. BZOJ 4259 FFT
  4. Python中表示偶数_蒙特卡洛模拟(Python)深入教程
  5. pytorch CNN
  6. 计算机考试试题大一上学期,大一第一学期期末考试计算机试题1
  7. html提醒用户IE浏览器版本过低,引导更新或下载其他浏览器
  8. 采用邻接表表示法创建无向图
  9. [Swift通天遁地]五、高级扩展-(6)对基本类型:Int、String、Array、Dictionary、Date的扩展...
  10. 计算机一级最强大脑,计算机入侵人类 《最强大脑》选手完败?
  11. 百度地图API(WEB端/JavaScript API)--实际运用与扩展
  12. Anaconda修改国内镜像源
  13. 猜拳小游戏编程(python)
  14. 如何在Linux上的命令行中设置Google Chrome浏览器的代理设置?
  15. 【iOS开发】—— 通过URL Scheme调用外部地图软件
  16. 信息检索——BM25算法实现(自己写)
  17. 电脑上的文件后缀名隐藏了如何修改?
  18. 推荐 | CSP-JS信奥赛教材
  19. 最新首发宝塔最新7.9企业版破解开心版升级命令
  20. SQL Server创建一个带有输入和输出参数的存储过程并调用

热门文章

  1. 操作数数据类型 char 对于 sum 运算符无效。_数据类型和运算符
  2. ajax上传文件 获取失败,Ajax上传文件/照片时报错TypeError :Illegal invocation的解决方法...
  3. python中的成员运算符是干嘛的_在Python中使用成员运算符的示例
  4. python程序启动其他python程序,如何使用Python启动应用程序的实例?
  5. 81. 搜索旋转排序数组 II(014)二分查找+思路+详解+二种做法
  6. java中编译类型的方法 和 运行时的类型方法 有什么区别
  7. [mybatis]缓存_缓存有关的设置以及属性
  8. [C++STL]map容器用法介绍
  9. D. 关灯问题(规律或二分)
  10. vue动态切换css文件_vue实现样式之间的切换及vue动态样式的实现方法