51nod 1285 山峰和分段
2024-08-30 23:36:00
【题解】
枚举n的各个因数作为段长,O(n)判断每一段内是否有山峰即可。
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define LL long long
#define rg register
#define N 1000010
using namespace std;
int n,m,ans,a[N];
bool p[N];
inline int read(){
int k=,f=; char c=getchar();
while(c<''||c>'')c=='-'&&(f=-),c=getchar();
while(''<=c&&c<='')k=k*+c-'',c=getchar();
return k*f;
}
inline bool check(int x){
int last=,now=x;
while(now<=n){
bool ok=;
for(rg int i=last;i<=now;i++) ok=ok|p[i];
if(!ok) return ;
now+=x; last+=x;
}
return ;
}
int main(){
n=read(); m=trunc(sqrt(n));
for(rg int i=;i<=n;i++) a[i]=read();
for(rg int i=;i<n;i++) if(a[i-]<a[i]&&a[i]>a[i+]) p[i]=;
for(rg int i=;i<=m;i++)if(n%i==){
if(check(i)) ans=max(ans,n/i);
if(check(n/i)) ans=max(ans,i);
}
printf("%d\n",ans);
return ;
}
最新文章
- Ngigx+Tomcat配置动静分离,负载均衡
- FastReport 使用说明
- UIPopoverController 的使用
- Gocd持续部署利器
- BIEEE 创建多维钻取分析(4)
- 最新版Duilib在VS2012下编译错误的解决方法
- Yii源码阅读笔记(十八)
- 继承过程中对函数中this的认识
- JMS理解2
- CTSC&;APIO2017
- selenium自动化测试在富文本中输入信息的方法
- Eclipse 添加 Source 源代码、Javadoc 文档
- 读取文件不是真实的具体路径 setZh.ini
- 不使用DataContext直接将ViewModels绑定到ItemsControl控件
- boost asio 学习(一)io_service的基础
- 【LeetCode】227. Basic Calculator II
- CDOJ--1141
- python---基础知识回顾(十)进程和线程(协程gevent:线程在I/O请求上的优化)
- [Alpha]Scrum Meeting#5
- BZOJ1258 [CQOI2007]三角形
热门文章
- softmax function in c++
- 编写第一Spring程序
- 台哥原创:java 连连看源码
- SQL 理论知识总结
- Eclipse里的Java EE视图在哪里?MyEclipse里的Java EE视图在哪里?MyEclipse里的MyEclipse Java Enterprise视图在哪里?(图文详解)
- 后台管理进程GameMaster
- 微软MVC框架实战:开源的JS库Knockout
- VMWare虚拟机中Ubuntu 16.04 (linux无桌面)配置静态IP上网
- jq微信分享
- C++11:using 的各种作用