HDU 4512 吉哥系列故事——完美队形I(LCIS最长公共上升子序列)
http://acm.hdu.edu.cn/showproblem.php?pid=4512
题意:
吉哥这几天对队形比较感兴趣。
有一天,有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要求,则称之为完美队形:
1、挑出的人保持他们在原队形的相对顺序不变;
2、左右对称,假设有m个人形成新的队形,...
分类:
其他好文 时间:
2014-11-14 12:36:04
阅读次数:
136
推荐一篇炒鸡赞的blog。
下面代码中有打印路径。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#pragma comment(linker, "/STACK:1024000000");
#define EPS (1e...
分类:
其他好文 时间:
2014-10-26 21:19:31
阅读次数:
247
要学的 太多了.学到的 都是有用的 即便你不会在比赛中遇到这个类型的 但是开拓了你的思维这2题 都是LCIS-Longest Common Increase Subsequence我是在这边学习的 传送这篇写的很好.我觉得对于4512要好好理解下啊 我想了好久 太白痴了....注意下 数组的对称性1...
分类:
其他好文 时间:
2014-10-16 18:26:32
阅读次数:
338
HDU 3308 LCIS
题目链接
题意:一个序列,每次询问一个区间内最长连续上升子序列,或者修改一个位置的值
思路:线段树的区间合并,和最长连续子序列和是一样的思路,记录lsum, rsum, sum,表示左边连续长度,右边连续长度,和区间最长长度,然后pushup的时候进行区间合并操作即可
代码:
#include
#include
#include
us...
分类:
其他好文 时间:
2014-10-13 18:35:17
阅读次数:
200
题目链接:hdu 3308 LCIS
题目大意:给定一个序列,两种操作:
Q l r:查询区间l,r中的最长连续递增序列长度U p x:将位置p上的数改成x
解题思路:线段树上的区间合并,这是在左右子树合并的时候要判断一下是否满足递增即可。
#include
#include
#include
using namespace std;
const int maxn =...
分类:
其他好文 时间:
2014-10-01 14:47:51
阅读次数:
243
这个是动态的,所以要用线段树维护。代码里有注释因为ls敲成lsum,rs敲成rsum查错查了好久。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #incl...
分类:
其他好文 时间:
2014-09-28 03:55:10
阅读次数:
161
最长公共上升子序列(LCIS)裸的算法题,没什么好说的。ps:找这个算法的时候看到某队省赛的时候不会,同病相怜哈,还好我们只是训练赛不会。灭哈哈哈~ 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int...
分类:
其他好文 时间:
2014-09-02 19:39:05
阅读次数:
190
#include #include #include using namespace std;int a[505], b[505];int dp[505], path[505];int Susake_lcs[505][505], Susake_lcis[505][505];void Susake_L...
分类:
其他好文 时间:
2014-08-26 13:20:36
阅读次数:
208
刚刚做了两道LCIS,碰到这道线段树,脑抽了似的写 线段树+dp(LCIS),贡献一发TLE。
才想到要区间合并,query函数写了好久。下面有详细注释,参见代码吧~~欢迎点赞,欢迎卖萌~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
题目链接:http://acm.hdu.e...
分类:
其他好文 时间:
2014-08-20 16:27:52
阅读次数:
207
题意:U A B: 把第A个数变成BQ A B: 输出【A,B】最长连续上升子序列(注意是连续 相当于子串)思路:单点更新 ,区间合并几下左边开头最小 和右边结束最大的两个数即可。#include#include#include#include#include #define lson (iy?x:...
分类:
其他好文 时间:
2014-08-02 15:10:23
阅读次数:
171