题目大意:给一个车辆到达车站的序列(按时间先后),可以对车辆进行以下处理:插在队首、插在队尾或者拒绝进站。车站内的车辆必须按照重量大小从大到小排列,问车站内最多能有多少辆车辆?

  假设车i是第一个进站,那么在i后面的车辆如果比i车重,可以插在i的前面,如果比i车轻,可以插在i的后面。这就变成了求以i为起点的最大递增子序列和最大递减子序列了,i首先进站的最大长度为LIS(i)+LDS(i)-1,找出其中的最大值就可以了。

 #include <cstdio>
#include <algorithm>
using namespace std;
#define MAXN 2010 int a[MAXN], lis[MAXN], lds[MAXN]; int main()
{
#ifdef LOCAL
freopen("in", "r", stdin);
#endif
int T;
scanf("%d", &T);
while (T--)
{
int n;
scanf("%d", &n);
for (int i = ; i < n; i++)
scanf("%d", &a[i]);
for (int i = n-; i >= ; i--)
{
lis[i] = lds[i] = ;
for (int j = i+; j < n; j++)
{
if (a[i] < a[j]) lis[i] = max(lis[i], lis[j]+);
if (a[i] > a[j]) lds[i] = max(lds[i], lds[j]+);
}
}
int ans = ;
for (int i = ; i < n; i++)
ans = max(ans, lis[i]+lds[i]-);
printf("%d\n", ans);
}
return ;
}

  做的有点随便了,大概想了一下就开始写了,最初LIS(i)和LDS(i)保存的是以i为终点的最大XX子序列,根本就没想清楚,完全凭感觉了...后来改了还是WA了,然后就觉得是n可以等于0的问题,没好好看题-_-|| ,这个WA了4次才过,无语啊...

UVa 11456 - Trainsorting的更多相关文章

  1. uva 1354 Mobile Computing ——yhx

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGcAAANuCAYAAAC7f2QuAAAgAElEQVR4nOy9XUhjWbo3vu72RRgkF5

  2. UVA 10564 Paths through the Hourglass[DP 打印]

    UVA - 10564 Paths through the Hourglass 题意: 要求从第一层走到最下面一层,只能往左下或右下走 问有多少条路径之和刚好等于S? 如果有的话,输出字典序最小的路径 ...

  3. UVA 11404 Palindromic Subsequence[DP LCS 打印]

    UVA - 11404 Palindromic Subsequence 题意:一个字符串,删去0个或多个字符,输出字典序最小且最长的回文字符串 不要求路径区间DP都可以做 然而要字典序最小 倒过来求L ...

  4. UVA&&POJ离散概率与数学期望入门练习[4]

    POJ3869 Headshot 题意:给出左轮手枪的子弹序列,打了一枪没子弹,要使下一枪也没子弹概率最大应该rotate还是shoot 条件概率,|00|/(|00|+|01|)和|0|/n谁大的问 ...

  5. UVA计数方法练习[3]

    UVA - 11538 Chess Queen 题意:n*m放置两个互相攻击的后的方案数 分开讨论行 列 两条对角线 一个求和式 可以化简后计算 // // main.cpp // uva11538 ...

  6. UVA数学入门训练Round1[6]

    UVA - 11388 GCD LCM 题意:输入g和l,找到a和b,gcd(a,b)=g,lacm(a,b)=l,a<b且a最小 g不能整除l时无解,否则一定g,l最小 #include &l ...

  7. UVA - 1625 Color Length[序列DP 代价计算技巧]

    UVA - 1625 Color Length   白书 很明显f[i][j]表示第一个取到i第二个取到j的代价 问题在于代价的计算,并不知道每种颜色的开始和结束   和模拟赛那道环形DP很想,计算这 ...

  8. UVA - 10375 Choose and divide[唯一分解定理]

    UVA - 10375 Choose and divide Choose and divide Time Limit: 1000MS   Memory Limit: 65536K Total Subm ...

  9. UVA - 11584 Partitioning by Palindromes[序列DP]

    UVA - 11584 Partitioning by Palindromes We say a sequence of char- acters is a palindrome if it is t ...

随机推荐

  1. 简单实现contentOS下开机自动启动tomcat

    看过网上很多写tomcat开机自启动的例子,很多都是写了一个比较复杂的脚步.找到一个比较简单的. 首先编辑 vi /etc/rc.d/rc.local 在尾部加入 export JDK_HOME=/u ...

  2. mysql链接表,connection string, federated engine

    http://database.51cto.com/art/201011/234561.htm

  3. sql视图

    什么是视图 大家都知道,我们国家现在“神七”上天了.从美国的月球登月开始,人类上天不再是神话.听说,在美国,你只要出几十万美元,您就可以上一次月球进行太空旅行,所以,我们相信:在不久的将来,上天旅行将 ...

  4. js中将 整数转成字符,,将unicode 编码后的字符还原出来的方法。

    一.将整数转成字符: String.fromCharCode(17496>>8,17496&0xFF,19504>>8,19504&0xFF,12848> ...

  5. 转:sqlplus与shell互相传值的几种情况

    sqlplus与shell互相传值的几种情况 情况一:在shell中最简单的调用sqlplus $cat test.sh #!/bin/sh sqlplus oracle/oracle@oracle& ...

  6. How to spend you day ?

    如果这是你生命中的最后的一天,你该如何去过好它呢? 不要浪费你生命中的每一分,每一秒!!!

  7. 用FusionChartsFree做饼状图、柱状图、折线图的实例

    1.先来看看要进行表现的页面:myChart.jsp <%@ page language="java" contentType="text/html; charse ...

  8. List转DataSet

    public DataSet ConvertToDataSet<T>(IList<T> list) { if (list == null || list.Count <= ...

  9. vpn探测

    root@bt:~# ike-scan -M -v 192.168.1.102 root@bt:~# sslscan 192.168.1.102

  10. 块和内嵌div和span

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...