LCIS HDOJ 4512 吉哥系列故事——完美队形I
题意:中文题面
分析:LCIS应用:设置b[]为a[]的反转,然后LCIS,若相等的是自己本身,则+1, 否则+2
代码:
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std; const int MAXN = 2e2 + 10;
const int INF = 0x3f3f3f3f;
int a[MAXN], b[MAXN];
int dp[MAXN][MAXN];
int n; int LCIS(void)
{
int k = 0; int ans = 0;
for (int i=1; i<=n; ++i)
{
k = 0;
for (int j=1; j<=n-i+1; ++j)
{
dp[i][j] = dp[i-1][j];
if (a[i] == b[j])
{
if (j != n - i + 1)
{
if (dp[i][j] < dp[i][k] + 2)
dp[i][j] = dp[i][k] + 2;
}
else
{
if (dp[i][j] < dp[i][k] + 1)
dp[i][j] = dp[i][k] + 1;
}
}
else if (a[i] > b[j])
if (dp[i][j] > dp[i][k]) k = j; if (ans < dp[i][j]) ans = dp[i][j];
}
} return ans;
} int main(void) //HDOJ 4512 吉哥系列故事——完美队形I
{
//freopen ("HDOJ_4512.in", "r", stdin); int t;
scanf ("%d", &t);
while (t--)
{
scanf ("%d", &n); for (int i=1; i<=n; ++i) scanf ("%d", &a[i]);
for (int i=1; i<=n; ++i) b[n-i+1] = a[i];
memset (dp, 0, sizeof (dp)); printf ("%d\n", LCIS ());
} return 0;
}
LCIS HDOJ 4512 吉哥系列故事——完美队形I的更多相关文章
- hdu 4512 吉哥系列故事——完美队形I【LCIS经典应用】
链接: http://acm.hdu.edu.cn/showproblem.php?pid=4512 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- HDU 4512——吉哥系列故事——完美队形I——————【LCIS应用】
吉哥系列故事——完美队形I Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Tot ...
- HDU 4512 吉哥系列故事——完美队形(LCIS)
Problem Description 吉哥这几天对队形比较感兴趣. 有一天,有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一 ...
- hdu 4512 吉哥系列故事——完美队形I_LCIS
题目链接 题意: 假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要 求,则就是新 ...
- hdu 4512 吉哥系列故事——完美队形I LCIS
题目链接 给一个数列, 在里面选出一些数组成一个对称的数列, 数的顺序不能打乱. 使得左半边是一个严格递增的数列, 右边递减, 并且a[i] = a[n-i+1]. 就是一个对称的LCIS.. #in ...
- hdu 4512 吉哥系列故事——完美队形I(最长公共上升自序加强版)
首先要去学习最长公共上升子序列LCIS.然后是对n*n效率的算法进行优化,这里要注意的是能够求出来的序列中间能够有一个最高的.刚開始将输入的数组进行逆置,写下来发现这可能存在问题. 只是详细是什么也没 ...
- HDUOJ-----4512吉哥系列故事——完美队形I(LCIS)
吉哥系列故事——完美队形I Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Tot ...
- HDU 4513 吉哥系列故事——完美队形II manacher
吉哥系列故事——完美队形II Problem Description 吉哥又想出了一个新的完美队形游戏! 假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希 ...
- hdu----(4513)吉哥系列故事——完美队形II(manacher(最长回文串算法))
吉哥系列故事——完美队形II Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)To ...
随机推荐
- mstsc局域网远程 要预先做的设置
很简单========= 一:在“控制面板”->“管理工具”->“服务”上启动Remote Desktop Help Session Manager的服务; 二: 在“控制面板”-> ...
- java中堆栈(stack)和堆(heap)
原文地址:http://blog.csdn.net/jerryao/article/details/874101 1.内存分配策略 按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈 ...
- redhat 6 / centos 6 搭建Django环境
1)首先 安装的时候 到 选择安装那些包的时候 把 编译环境和开发的包 那块全部打上勾 2)系统虽然自带Python安装包,但是版本比较低.所以推荐自行进行tar包编译安装比较新的 https:// ...
- javascript对象转化为基本数据类型规则
原文:Object-to-Primitive Conversions in JavaScript 对象转化为基础数据类型,其实最终都是用调用对象自带的valueOf和toString两个方法之一并获得 ...
- 解决php configure: error: Cannot find ldap libraries in /usr/lib.错误
解决php configure: error: Cannot find ldap libraries in /usr/lib.错误 iitshare 分类:Linux,PHP,项目实施 | 标签:Ca ...
- nginx 反向代理 google
nginx的反向代理,google一直都是不容易打开的,如果你有一台位于国外的vps或者服务器,就可以轻松解决这个问题,这次的主角是nginx,nginx的反向代理现在已经发展很强大了,很多时候拿他来 ...
- POJ 1006 - Biorhythms (中国剩余定理)
B - Biorhythms Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Subm ...
- iOS 手势操作:拖动、捏合、旋转、点按、长按、轻扫、自定义
1.UIGestureRecognizer 介绍 手势识别在 iOS 中非常重要,他极大地提高了移动设备的使用便捷性. iOS 系统在 3.2 以后,他提供了一些常用的手势(UIGestureReco ...
- [Android Pro] fragment中嵌套viewpager,vierpager中有多个fragment,不显示
referece to : http://blog.csdn.net/mybook1122/article/details/24003343 现在好多应用流行一种布局.底部几个工具栏选项,上面也有类 ...
- typedef用法
参考文章:http://www.cnblogs.com/shenlian/archive/2011/05/21/2053149.html