当前位置:网站首页>Codeforces Round #276 (Div. 1) B. Maximum Value
Codeforces Round #276 (Div. 1) B. Maximum Value
2022-08-10 12:05:00 【Snow_raw】
Codeforces Round #276 (Div. 1) B. Maximum Value
题意: 给定一个长为 n n n 的序列 { a i } \{ a_i\} { ai} ,求序列中最大的 a [ i ] a[i] a[i] m o d mod mod a [ j ] a[j] a[j] 其中 a i > a j a_i>a_j ai>aj
思路: 考虑到 a i a_i ai 的取值最大为 1 0 6 10^6 106 ,我们可以暴力枚举 a i a_i ai 的倍数,枚举值不超过 2 ∗ 1 0 6 2*10^6 2∗106 即可,看似 O ( n 2 ) O(n^2) O(n2) 的复杂度,实则符合调和级数的性质,即 N N N ∗ * ∗ 1 1 1 + + + N N N ∗ * ∗ 1 2 \dfrac{1}{2} 21 + + + N N N ∗ * ∗ 1 3 \dfrac{1}{3} 31 . . . ... ... = = = N l o g N NlogN NlogN ,然后再通过前缀和操作, O ( n ) O(n) O(n) 预处理出来每个数离当前数倍数最近的数,从而不断更新最大的模数。
代码:
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 2E6+10;
bool vis[N];
int pre[N];
int n;
signed main(){
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
vis[x]=true;
}
for(int i=1;i<N;i++){
if(vis[i])pre[i]=i;
else pre[i]=pre[i-1];
}
int ans=0;
for(int i=2;i<N;i++){
//调和级数
if(vis[i]){
for(int j=2*i;j<N;j+=i){
ans=max(ans,pre[j-1]%i);
}
}
}
cout<<ans<<endl;
return 0;
}
边栏推荐
- CodeForces - 628D (数位dp)
- mSystems | 中农汪杰组揭示影响土壤“塑料际”微生物群落的机制
- Excel function formulas - HLOOKUP function
- 人脸考勤是选择人脸比对1:1还是人脸搜索1:N?
- Alibaba Cloud Jia Zhaohui: Cloud XR platform supports Bizhen Technology to present a virtual concert of national style sci-fi
- 2016,还是到了最后
- 48 the mysql database
- 部署项目半途而废后续
- 协程与任务
- 百度用户产品流批一体的实时数仓实践
猜你喜欢

Data Analysis of Time Series (5): Simple Prediction Method

中科院深圳先进技术院合成所赵国屏院士组2022年招聘启事

人脸考勤是选择人脸比对1:1还是人脸搜索1:N?

多线程下自旋锁设计基本思想

How to cultivate the design thinking of ui designers?

Chapter9 : De Novo Molecular Design with Chemical Language Models

Guo Jingjing's personal chess teaching, the good guy is a robot

7. Instant-ngp

mpf6_Time Series Data_quandl_correct kernel PCA_AIC_BIC_trend_log_return_seasonal_decompose_sARIMAx_ADFull

「网络架构」网络代理第一部分: 代理概述
随机推荐
The 6th "Blue Hat Cup" National College Student Network Security Skills Competition Semi-Final Part WriteUp
用低代码驱动IT现代化
【list合并】多个list合并为一个list
[Collection] HashSet and ArrayList lookup Contains() time complexity
LeetCode 92. Reverse Linked List II
爱可可AI前沿推介(8.10)
[List merge] Combine multiple lists into one list
How to do foreign media publicity to grasp the key points
你是怎么知道数据库 Htap 能力强弱的?怎么能看出来
wirshark 常用操作及 tcp 三次握手过程实例分析
这三个 Go 水平自测题,你手写不出来还是先老实上班吧,过来看看
基于PLECS的离网(孤岛)并联逆变器的Droop Control下垂控制仿真
多线程下自旋锁设计基本思想
托米的咒语
解决 idea 单元测试不能使用Scanner
Excel function formulas - HLOOKUP function
虚拟机桥接模式不能上网
Drive IT Modernization with Low Code
16、Pytorch Lightning入门
LeetCode 21. Merge two ordered linked lists