HDU 5328 Problem Killer(简单DP)
来源:互联网 发布:网络流行词汇 编辑:程序博客网 时间:2024/05/11 01:59
大意:
输出其中最长的等差(AP)或等比(GP)数列的长度。
数列长度为1或2时一定是等比或等差数列。
如果a,b,c是AP或GP,b,c,d是AP或GP那么a,b,c,d是AP或GP。
因此有状态转移方程。
#include <iostream>#include <stdio.h>#include <math.h>#include <memory.h>#define eps 1e-6;using namespace std;int a[1000005];int max1=2;int ap[1000005];int gp[1000005];void solve(int n){ ap[0]=2; ap[1]=2; gp[0]=2; gp[1]=2; for(int i=2; i<n; i++) { ap[i]=2; gp[i]=2; if(a[i-1]*2==a[i-2]+a[i]) { ap[i]=ap[i-1]+1; if(ap[i]>max1) max1=ap[i]; } if(fabs(a[i]*1.0/a[i-1]-a[i-1]*1.0/a[i-2])<1e-6) { gp[i]=gp[i-1]+1; if(gp[i]>max1) max1=gp[i]; } }}int main(){ int n,T; memset(a,0,sizeof(a)); scanf("%d",&T); while(T--) { scanf("%d",&n); for(int i=0; i<n; i++) scanf("%d",&a[i]); if(n==1||n==2) { printf("%d\n",n); } else { max1=2; solve(n); printf("%d\n",max1); } } return 0;}
0 0
- HDU 5328 Problem Killer(简单DP)
- 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-暴力)
- hdu5328 Problem Killer(dp)
- hdu 5328 Problem Killer(杭电多校赛第四场)
- Hdu 5328 Problem Killer (尺取)
- HDU 5238 Problem Killer
- hdu 5328 Problem Killer 2015多校联合训练赛4 简单题
- 为什么不要直接在Object.prototype上定义方法?(JavaScript)
- servlet取得初始化参数值,参数值为资源文件
- 博弈论--两兄弟分钱
- copy
- struts2 中chain、redirect、redirectaction的区别
- HDU 5328 Problem Killer(简单DP)
- 大型web系统中缓存的使用
- Find Peak Element
- [iOS]字符串转字典
- 64-bit Itanium与x64
- block块页面传值
- 练钢琴想起的关于耐心信心和勇气
- hdu1316
- MVP和MVC模式解读与实战运用(一)