DAY2T2
来源:互联网 发布:怎么应聘淘宝模特 编辑:程序博客网 时间:2024/06/01 07:30
技巧暴力
题目
寻找最美的你(select)
Time Limit:2000ms Memory Limit:128MB
题目描述
LYK带着悲伤行走在黑暗里。寂穆的夜空没有星月的点缀,身旁的树木、房屋、万事万物连同你自己,都融于宇宙的虚无缥缈之中。黑暗,压抑、膨胀、严严实实包围整个世界,LYK害怕,彷徨,无奈。突然,眼前出现一扇窗,流漏出点点昏黄的灯光。LYK欣喜地奔去看,原来这里有n个数字,LYK深深地被它们吸引。
这个问题是这样的,如果一个区间[L,R]存在一个数ai,使得这个数是这个区间所有数的约数,那么[L,R]这段区间,是一段好区间。
现在,LYK想知道最长的好区间的长度是多少,并且它想知道最长的好区间具体的位置,如果有多个,从小到大输出它们的左端点。
输入格式(select.in)
第一行一个数n,表示有n个这样的数字。
第二行n个数ai。
输出格式(select.out)
第一行两个数sum,len。其中sum表示有sum个最长的好区间,len表示最长的好区间的长度。
第二行sum个数,从小到大输出,表示所有最长好区间的左端点。
输入样例
5
4 6 9 3 6
输出样例
1 4
2
样例解释:
有一个最长的好区间[2,5]。
数据范围
对于40%的数据n<=100。
对于60%的数据n<=3000。
对于80%的数据n<=30000。ai<=1000。
对于100%的数据1<=n<=300000,1<=ai<=1000000。ai以一定方式随机。
话说题目异常的中二(zhw改的)
用len[i]表示i所在的最长好区间长度
len[i]数组用一个循环即可跑出
lf[i]表示这个好区间的左端点,rt[i]同理
再用一个循环来找最长好区间的个数
注意不要忘了筛除重复的
代码如下
#include <cstdio>#include <iostream>using namespace std;int a[300005],lenmax,ans[300005],cnt;int len[300005];int lf[300005],rt[300005];int sum;int main(){ freopen("select.in","r",stdin); freopen("select.out","w",stdout); int n; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); if(a[i]==1) { printf("1 %d\n1",n); return 0; } } for(int i=1;i<=n;i++) { int l=i; int r=i; while(a[l]%a[i]==0&&l>=1) l--; while(a[r]%a[i]==0&&r<=n) r++; len[i]=r-l-1; lf[i]=l+1; rt[i]=r-1; lenmax=max(lenmax,len[i]); } for(int i=1;i<=n;i++) if(len[i]==lenmax) { int flag=0; for(int j=1;j<i;j++) if(lf[i]==lf[j]&&rt[i]==rt[j]) { flag=1; break; } if(!flag) { ans[++cnt]=lf[i]; } } printf("%d %d\n",cnt,lenmax); for(int i=1;i<=cnt;i++) printf("%d ",ans[i]); return 0;}
- DAY2T2
- NOIP2015 day2t2 子串
- noip 2015 day2T2 字串
- 【NOIP2015】Day2T2 字串
- NOIP2015 day2t2 子串
- [NOIP2015]Day2T2 子串
- NOIP2014 Day2T2 寻找道路 bfs
- NOIP2016 Day2T2蚯蚓 (部分分)
- NOI2017 day2T2 vegetables 题解(伪)
- NOIP2016 Day2T2蚯蚓 题解报告
- JSOI2014第三轮 DAY2T2 士兵部署
- 蚯蚓(NOIP2016提高组Day2T2)
- 2016NOIP提高组DAY2T2 蚯蚓
- JZOJsenior5477.【NOIP2017提高组】day2T2宝藏
- NOIP2017提高组 Day2T2宝藏 状压DP
- 【noip2017 day2T2】【蚯蚓】巧用队列单调性线性处理
- 【codevs1217】【noip2012提高day2T2】借教室——线段树做法
- Apache Kafka -6 消费者示例
- Apache Kafka -7 与Storm集成
- qsort函数、sort函数
- Netty实战(二)Netty服务器,采用Protobuf编解码
- Python-网络爬虫之BeautifulSoup(1)
- DAY2T2
- Ubuntu16.04.1 安装Nginx
- Apache Kafka -8 与Spark集成
- 找新朋友
- java-day04-反射的运用
- IT牛人博客
- 第一章 设计模式入门之策略模式【C++11版】
- 【矩阵乘法】逆矩阵
- Apache Kafka