时间限制:2秒

空间限制:131072K

小Q和牛博士合唱一首歌曲,这首歌曲由n个音调组成,每个音调由一个正整数表示。
对于每个音调要么由小Q演唱要么由牛博士演唱,对于一系列音调演唱的难度等于所有相邻音调变化幅度之和, 例如一个音调序列是8, 8, 13, 12, 那么它的难度等于|8 - 8| + |13 - 8| + |12 - 13| = 6(其中||表示绝对值)。
现在要对把这n个音调分配给小Q或牛博士,让他们演唱的难度之和最小,请你算算最小的难度和是多少。
如样例所示: 小Q选择演唱{5, 6}难度为1, 牛博士选择演唱{1, 2, 1}难度为2,难度之和为3,这一个是最小难度和的方案了。

输入描述:
输入包括两行,第一行一个正整数n(1 ≤ n ≤ 2000) 第二行n个整数v[i](1 ≤ v[i] ≤ 10^6), 表示每个音调。
输出描述:
输出一个整数,表示小Q和牛博士演唱最小的难度和是多少。
输入例子1:
5
1 5 6 2 1
输出例子1:
3
#include <iostream>
#include <string>
#include <cstdio>
#include <utility>
#include <thread>
#include <fstream>
#include <chrono>
#include <iterator>
#include <functional>
#include <vector>
#include <sstream>
#include <algorithm>
#include <atomic>
#include <deque>
#include <stack>
using namespace std;
typedef long long LL;
const int MAXN = ;
#define INF 0x3f3f3f3f
/*
dp[i][j] 表示
第一组取到的最后一个人是a[i]
第二组取到的最后一个人是a[j]
由一组取完所有显然不是最优解
下一个位置max(i,j)+1 取之前有两种转移情况
反推(正推的话初始情况不好处理)
*/
int n;
int dp[MAXN][MAXN];
int val[MAXN];
int main()
{
ios::sync_with_stdio();
cin >> n;
for (int i = ; i <= n; i++)
cin >> val[i];
for (int i = n; i >= ; i--)
{
for (int j = n; j >= ; j--)
{
int p = max(i, j) + ;
dp[i][j] = INF;
dp[i][j] = min(dp[i][j], dp[i][p] + (j == ? : abs(val[p - ] - val[j - ])));
dp[i][j] = min(dp[i][j], dp[p][j] + (i == ? : abs(val[p - ] - val[i - ])));
}
}
cout << dp[][] << endl;
}

最新文章

  1. 使用lock和condition实现的阻塞队列-字符串
  2. 用vuejs写了一个酷狗的webApp
  3. ie6/7/8中span右浮动折行问题的解决方案
  4. java下实现调用oracle的存储过程和函数
  5. PHP设计模式笔记三:三种基本设计模式(工厂模式、单例模式、注册树模式) -- Rango韩老师 http://www.imooc.com/learn/236
  6. Javascript进阶篇——(函数)笔记整理
  7. Objective-c 类接口 (@interface) (类定义)
  8. 验证编辑方法(Edit method)和编辑视图(Edit view)
  9. Office 365 开发概览系列文章和教程
  10. MySQL 取得小时分钟部分
  11. hi-nginx-1.3.4编译安装
  12. 一个农民工混迹于 IT 行业多年后的泣血总结
  13. 将n个东西分成n1,n2,n3,n4,....nr 共 r组分给r个人有多少种分法。
  14. C#方法重载(overload)方法重写(override)隐藏(new)
  15. 【BZOJ5417】[NOI2018]你的名字(线段树,后缀自动机)
  16. mysql的group by查询
  17. c# DataSet转换为Json
  18. 大疆OSMO口袋云台相机惊艳上市!友商该如何是好。。。
  19. Android Activity之间切换出现短暂黑屏的处理方法
  20. 常用软件安装及VS插件工具

热门文章

  1. VMware虚拟机中涉及的3种常见网络模式
  2. Angular 组件之间的传值
  3. iOS---开发实用传感器
  4. js中cookie的操作
  5. Jquery+ashx实现Ajax
  6. struts2的action是线程安全的,struts1的action不是线程安全的真正原因
  7. Farseer.net轻量级ORM开源框架 V1.x 入门篇:数据库配置文件
  8. HTML标签的分类
  9. H1B工作签证&#183;绿卡:美国留学的两个关键步骤
  10. 简单说一下 TCP打洞和UDP打洞