dp(x, p) 表示序列中第x个数, 上一个数是p构成的等差数列的最长. 转移时从[1, x)中枚举p = seq[] 就行了.时间复杂度O(n²logn)

---------------------------------------------------------------------------------

#include<bits/stdc++.h>
   
#define rep(i, n) for(int i = 0; i < n; i++)
#define Rep(i, n) for(int i = 1; i <= n; ++i)
#define clr(x, c) memset(x, c, sizeof(x))
 
using namespace std;
 
const int maxn = 2009;
 
int A[maxn], n;
map<int, int> dp[maxn];
 
int main() {
freopen("test.in", "r", stdin);
int ans = 0;
cin >> n;
rep(i, n) scanf("%d", A + i);
rep(i, n) rep(j, i)
ans = max(ans, dp[i][A[j]] = max(2, max(dp[i][A[j]], dp[j][A[j] * 2 - A[i]] + 1)));
if(n == 1) puts("1");
else cout << ans << endl;
return 0;
}

---------------------------------------------------------------------------------

3357: [Usaco2004]等差数列

Time Limit: 10 Sec  Memory Limit: 128 MB
Submit: 144  Solved: 56
[Submit][Status][Discuss]

Description

    约翰发现奶牛经常排成等差数列的号码.他看到五头牛排成这样的序号:“1,4,3,5,7”
很容易看出“1,3,5,7”是等差数列.
    给出N(1≤N≤2000)数字AI..AN(O≤Ai≤10^9),找出最长的等差数列,输出长度.

Input

    第1行:一个整数N.
    第2到N+1行:每行一个整数Ai,表示牛的号码.

Output

 
    最长等差数列的长度.

Sample Input

5
1
4
3
5
7

Sample Output

4

HINT

Source

BZOJ 3357: [Usaco2004]等差数列( dp )的更多相关文章

  1. BZOJ 3357: [Usaco2004]等差数列

    3357: [Usaco2004]等差数列 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 338  Solved: 160[Submit][Statu ...

  2. BZOJ 3357 [Usaco2004]等差数列:map优化dp

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3357 题意: 给你n个数a[i],让你找出一个最长的是等差数列的子序列. 题解: 表示状态 ...

  3. BZOJ 3357: [Usaco2004]等差数列 动态规划

    Code: #include<bits/stdc++.h> #define setIO(s) freopen(s".in","r",stdin) # ...

  4. 3357: [Usaco2004]等差数列

    3357: [Usaco2004]等差数列 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 321  Solved: 153[Submit][Statu ...

  5. [bzoj3357][Usaco2004]等差数列_动态规划_贪心

    [Usaco2004]等差数列 题目大意:约翰发现奶牛经常排成等差数列的号码.他看到五头牛排成这样的序号:“1,4,3,5,7”很容易看出“1,3,5,7”是等差数列.给出N(1≤N≤2000)数字A ...

  6. 51 nod 1055 最长等差数列(dp)

    1055 最长等差数列 基准时间限制:2 秒 空间限制:262144 KB 分值: 80 难度:5级算法题 N个不同的正整数,找出由这些数组成的最长的等差数列.     例如:1 3 5 6 8 9 ...

  7. BZOJ 3384: [Usaco2004 Nov]Apple Catching 接苹果( dp )

    dp dp( x , k ) = max( dp( x - 1 , k - 1 ) + *** , dp( x - 1 , k ) + *** ) *** = 0 or 1 ,根据情况 (BZOJ 1 ...

  8. BZOJ 3367: [Usaco2004 Feb]The Big Game 球赛( dp )

    dp(i)表示前i个人最少坐多少辆车, dp(i) = min(dp(j) + 1, dp(i)) (0 <= j < i 且 (i, j]的人能坐在一辆车上) 时间复杂度O(n²) -- ...

  9. BZOJ 3359: [Usaco2004 Jan]矩形( dp )

    数据范围这么小..怎么乱搞都可以吧... 先排序一遍然后O(n²) dp --------------------------------------------------------------- ...

随机推荐

  1. php中使用curl两个例子

    第一个例子: 调用一个天气预告的接口 $data = 'theCityName=石家庄'; $cUrl = curl_init(); curl_setopt($cUrl, CURLOPT_URL, & ...

  2. Yii框架中的CURD操作

    <?php $Admin = new Admin(); //查找多条记录,返回二维数组 $Admin->findAll(); $Admin->findAll("id = 2 ...

  3. HYSBZ 2818 gcd

    /** 大意: 给定整数N,1<= x,y <= N 求解有多少gcd(x,y) 为素数 n=10^7 思路: 首先考虑到n 如此之大,用的快速求欧拉函数. 先默认 y〉x 分析: gcd ...

  4. mongodb 限制ip访问

    <pre name="code" class="python">一.限制访问IP和端口 MongoDB可以限制只允许某一特定IP来访问,只要在启动时 ...

  5. [置顶] 吃论扯谈---吃货和Office 365订阅的关系

    什么事物都可以和吃联系起来,在女孩子穿裙子的季节这是一个悲伤的故事! 说明: :Office365是微软云计算产品之一,其采取订阅的方式,按人头*每月的方式付费,用户可以选择自己需要的服务 2:Off ...

  6. 一旦配置oracle em经验

    对oracle10grac构造em,原本很easy事儿,但它需要一个很长的时间,记录下来.MEMO. 首先,例如,报告了以下错误: [oracle@node1 admin]$ emca -config ...

  7. float 覆盖元素的问题

    <span class="right-span"><a href="/xxx/" class="btn">增加Ser ...

  8. 第一篇:NSTread线程的创建

    #import "ViewController.h" //导入头文件 #import <pthread.h> @interfaceViewController () @ ...

  9. C#_会员管理系统:开发三(修改密码)

    为以后多个功能界面考虑,新增一个主界面: 主界面如下: 主界面(VIPMain.cs)详细代码如下: using System; using System.Collections.Generic; u ...

  10. BZOJ 1036: [ZJOI2008]树的统计Count( 树链剖分 )

    树链剖分... 不知道为什么跑这么慢 = = 调了一节课啊跪.. ------------------------------------------------------------------- ...