LIS
Joey丶sunk
古今成大事者 不惟有超世之才 亦必有坚忍不拔之志
展开
-
UVA - 10534 Wavio Sequence 波浪序列 { LIS - O(n*log n)}
乍一看不好下手 稍微一想就能想到 从左右两边分别求 LIS,可能数据量比较大,这里的用的 O(n*log n)的做法 还有题目已经要求了 上升下降的长度相等 所以就有 solve()函数中最后枚举每个点的时候,取最小的那个 代码如下:#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include原创 2017-08-09 10:31:23 · 242 阅读 · 0 评论 -
UVA - 10635 Prince and Princess 转化为 LIS
首先每个序列的各个数字互不相同,可以给 a 串中的每个数字标一个编号(1 - n) 然后(把 b 中的每个数字也附上编号,)按照 a 中的数字所对应的编号,给 b 中每个数字附上相应的编号 这样 只需要求 b 编号序列的 最长上升子序列长度就好了 因为题中说了 第一个数字是1,b的第一个编号一定是1,所以不用担心 b 中出现而a 中没有的数字编号为0 会影响结果 代码如下:#include<原创 2017-08-09 10:40:04 · 191 阅读 · 0 评论 -
Gym - 101201A Alphabet LIS nlogn
大水题 唉唉唉,,又写了道水题,有点内疚啊,浪费时间啊 LIS ---- nlogn 写法 #include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2017-09-23 09:55:57 · 329 阅读 · 0 评论 -
CodeForces - 846A Curriculum Vitae LIS(最长上升子序列)n logn
教育场,当真是叫人受教育 此场 1 题滚出 这个 A 题也是很傻逼,可能是因为最近做题不够,思考不够 这个题显然的是求 最长上升子序列 #include #include #include #include #include #include #include #include #include #include #include #include #inc原创 2017-09-07 21:50:55 · 428 阅读 · 0 评论 -
The Heaviest Non-decreasing Subsequence Problem 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 常见问题
本来是个裸的线段树的题 但是把负数删掉,权重为5 的点,赋值5遍放到队列里 这样问题就转化成了求最长上升(非下降)子序列 #include #include #include #include #include #include #include #include #include #include #include #include #include #inclu原创 2017-09-25 08:26:11 · 435 阅读 · 0 评论 -
HDU - 6197 array array array LIS 2017 ACM/ICPC Asia Regional Shenyang Online
O( n logn) 求最长上升子序列,正着反着分别求一遍,判断是否符合就好了 #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef原创 2017-09-11 22:32:03 · 314 阅读 · 0 评论 -
PTA 7-2 列车调度(25 分) 25分代码
原来上升的序列需要相应长度的轨道 转化一下也就是求最长上升子序列的长度,有多种方法,这里的是复杂度比较低的 O(nlgn)的 (注:博客作为交流使用,切勿抄袭应付作业) #include using namespace std; const int maxn = 100000 + 7, INF = 0x7f7f7f7f; int n; int a[maxn], b[maxn]原创 2017-10-09 15:16:33 · 1805 阅读 · 0 评论