hdu 5328 Problem Killer(杭电多校赛第四场)
来源:互联网 发布:js验证提示信息 编辑:程序博客网 时间:2024/05/21 02:33
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5328
题目大意:找到连续的最长的等差数列or等比数列。
解题思路:1、等差等比的性质有很多。其中比较重要的一个就是解题关键:如a[i-2],a[i-1],a[i],a[i+1]这个序列。a[i-2],a[i-1],a[i]是等差数列,a[i-1],a[i],a[i+1]也是等差数列。那么a[i-2],a[i-1],a[i],a[i+1]就是等差数列。
2、 等比数列也是一样的~~只要根据这个性质就可以把整个序列查抄一遍,时间复杂度达到O(n);
3、还有一个就是如果是等差数列就满足2*a[i-1]=a[i]+a[i-2];等比的话满足a[i-1]*a[i-1]=a[i]*a[i-2]。
详见代码。
1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 5 using namespace std; 6 7 int ans,n; 8 long long a[1000010]; 9 10 void Find()11 {12 int i;13 //cout<<ans<<endl;14 int l=1;15 for (i=3; i<=n; i++)16 {17 if (a[i-1]*2!=a[i-2]+a[i])18 l=i-1;19 ans=max(ans,i-l+1);20 }21 l=1;22 23 for (i=3; i<=n; i++)24 {25 long long L=a[i-1]*a[i-1];26 long long R=a[i]*a[i-2];27 //cout<<L<<" "<<R<<endl;28 if (L!=R)29 l=i-1;30 ans=max(ans,i-l+1);31 }32 printf ("%d\n",ans);33 }34 35 int main()36 {37 int t;38 scanf("%d",&t);39 while (t--)40 {41 scanf("%d",&n);42 for (int i=1; i<=n; i++)43 {44 scanf("%lld",&a[i]);45 }46 ans=min(n,2);47 Find();48 }49 return 0;50 }
0 0
- hdu 5328 Problem Killer(杭电多校赛第四场)
- 2015年多校联合训练第四场(Problem Killer)hdu5328
- HDU 5328 Problem Killer
- HDU 5328 Problem Killer
- hdu 5328 Problem Killer
- hdu 5328 Problem Killer
- HDU 5328 Problem Killer
- HDU 5328 Problem Killer
- Hdu-5328 Problem Killer
- HDU 5328 Problem Killer
- HDU 5328 Problem Killer
- hdu 5328 Problem Killer(水题)
- hdu 5328 Problem Killer (水)
- HDU 5328 Problem Killer(简单DP)
- [枚举] 多校联合第四场 hdu328 problem killer
- HDU 5328(Problem Killer-暴力)
- Hdu 5328 Problem Killer (尺取)
- HDU 5238 Problem Killer
- hdu 1150 Machine Schedule(二分匹配,简单匈牙利算法)
- 随记
- hdu 5326 Work(杭电多校赛第三场)
- su 与su -
- hdu 5319 Painter(杭电多校赛第三场)
- hdu 5328 Problem Killer(杭电多校赛第四场)
- hdu 1151 Air Raid(最小路径覆盖)
- HNU Joke with permutation (深搜dfs)
- hdu 1498 50 years, 50 colors(二分匹配_匈牙利算法)
- hdu 2119 Matrix(二分匹配)
- hdu 3729 I'm Telling the Truth(二分匹配_ 匈牙利算法)
- 什么是REST?以及RESTful的实现
- hdu 5373 The shortest problem(杭电多校赛第七场)
- ACE_Reactor(二)ACE_Dev_Poll_Reactor