Description

An arithmetic series consists of a sequence of terms such that each term minus its immediate predecessor gives the same result. For example, the sequence 3, 7, 11, 15 is the terms of the arithmetic series 3+7+11+15; each term minus its predecessor equals 4. (Of course there is no requirement on the first term since it has no predecessor.)

Given a collection of integers, we want to find the longest arithmetic series that can be formed by choosing a sub-collection (possibly the entire collection).

Input

There are multiple cases, and each case contains 2 lines: the first line contains the count of integers (between 2 and 1000 inclusive), the following line contains all the integers (between -1,000,000,000 and 1,000,000,000 inclusive) separated by one or more spaces.

Output

Print a single number for each case in a single line.

Sample Input

7
3 8 4 5 6 2 2
4
-1 -5 1 3
4
-10 -20 -10 -10

Sample Output

5
3
3

Source

ZOJ Monthly, 2005.9

看了别人的解题报告说是DP+二分。试着写了一个后来发现与实际的结果相差2,不管三七二十一直接在原来的结果上加2。

竟然过了~o(╯□╰)o

cjx就在想这是为什么呢?后来发现因为我是从第三个数开始处理的,每个运算的结果都会少个2。

 #include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#define MAXN 1001
using namespace std; int n,cnt;
int d[MAXN];
int a[MAXN];
int dp[MAXN][MAXN]; int find(int l, int r, int v){
while(l<=r){
int m=(l+r)/;
if(v==a[m])return m;
else if(v<a[m]){
r=m-;
}else if(v>a[m]){
l=m+;
}
}
return -;
} int main()
{
int ans,count;
int temp;
while( scanf("%d",&n)!=EOF ){
for(int i=; i<n; i++){
scanf("%d",&d[i]);
}
sort(d,d+n);
cnt=;
count=;
ans=;
temp=-;
for(int i=; i<n; i++){
if(d[i]!=temp){
a[cnt++]=d[i];
if(count>ans)
ans=count;
count=;
}else{
count++;
}
}
if(count>ans){
ans=count;
}
memset(dp,,sizeof(dp));
for(int i=; i<cnt; i++){
for(int j=i+; j<cnt; j++){
int v=a[j]+a[j]-a[i];
int k=-;
k=find(j+,cnt-,v);
if(k!=-){
dp[j][k]=dp[i][j]+;
if(dp[j][k]>=ans){
ans=dp[j][k];
}
}
}
}
printf("%d\n",ans+);
}
return ;
}

TOJ 2926 Series的更多相关文章

  1. 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作

    一.reindex() 方法:重新索引 针对 Series   重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 ...

  2. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  3. 数据分析(8):Series介绍

    Series Series由一组数据及索引组成 索引 采用默认索引 data = pd.Series([4, 3, 2, 1]) 自定义索引 data = pd.Series([4, 3, 2, 1] ...

  4. POJ 3233Matrix Power Series

    妈妈呀....这简直是目前死得最惨的一次. 贴题目: http://poj.org/problem?id=3233 Matrix Power Series Time Limit: 3000MS Mem ...

  5. highchart 添加新的series

    code: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" c ...

  6. C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性

    http://blog.sina.com.cn/s/blog_621e24e20101cp64.html 为避免耽误不喜欢这种曲线图效果的亲们的时间,先看一下小DEMO效果图: 先简单说一下,从图中可 ...

  7. pandas 学习(1): pandas 数据结构之Series

    1. Series Series 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index). 1.1 下边生成一个最简单的Series对象,因为没有给Series指定索引,所以此时会 ...

  8. TOJ 2776 CD Making

    TOJ 2776题目链接http://acm.tju.edu.cn/toj/showp2776.html 这题其实就是考虑的周全性...  贡献了好几次WA, 后来想了半天才知道哪里有遗漏.最大的问题 ...

  9. TOJ 1191. The Worm Turns

    191.   The Worm Turns Time Limit: 1.0 Seconds   Memory Limit: 65536K Total Runs: 5465   Accepted Run ...

随机推荐

  1. 模板方法(Template Method)模式

    /* * 抽象模版(AbstractClass)角色有如下的责任: 定义了一个或多个抽象操作,以便让子类实现.这些抽象操作叫做基本操作,它们是一个顶级逻辑的组成步骤. 定义并实现了一个模版方法.这个模 ...

  2. asp.net站点阻止某个文件夹或者文件被浏览器访问

    一个站点根目录下面有一个Config文件夹,这个文件夹里面都是一些json格式的txt文本,文本是一种静态资源,如果知道这个文本的地址,就可以在浏览器中输入地址打开这个文本,别人就可以看到站点的配置, ...

  3. [转载] C++ namespaces 使用

    原地址:http://blog.sina.com.cn/s/blog_986c99d601010hiv.html 命名空间(namespace)是一种描述逻辑分组的机制,可以将按某些标准在逻辑上属于同 ...

  4. Atcoder Grand Contest 031C(构造,思维,异或,DFS)

    #include<bits/stdc++.h>using namespace std;int n,a,b,sum;void dfs(int x,int y,int ban){    if( ...

  5. kali linux之被动信息收集(dns信息收集,区域传输,字典爆破)

    公开可获取的信息,不与目标系统产生交互,避免留下痕迹 下图来自美军方 pdf链接:http://www.fas.org/irp/doddir/army/atp2-22-9.pdf 信息收集内容(可利用 ...

  6. 处理json

    一.json json是一个字符串,只不过长得比较像字典.使用json函数需要导入json库,即import json json的格式只有双引号,不可用单引号 1.json.loads()和json. ...

  7. 【FAQ】Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServlet

    原因: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spr ...

  8. Jmeter环境搭建详细介绍

    [前言] 欢迎来到我的博客,知识在于分享,如有不足之处,希望指出,大家共同进步学习! [JDK检查和安装] 现在市面上比较普遍的性能测试工具无非就LoadRunner和Jmeter,本人一直秉持着便宜 ...

  9. centos下安装memcached并设置开机自动启动-两种方法

    方法一: 安装memcachedyum install memcached 启动服务并初始化service memcached start -p 11211 -l 127.0.0.1 -d 设置mem ...

  10. C# 根据列名获取列值

    /// <summary> /// 根据列名获取列值 /// </summary> /// <param name="colName">< ...