题目链接:Codeforces 486E LIS of Sequence
题目大意:给定一个数组,现在要确定每个位置上的数属于哪一种类型。
解题思路:先求出每个位置选的情况下的最长LIS,因为开始的想法,所以求LIS直接用线段树写了,没有改,可以用
log(n)的算法直接求也是可以的。然后在从后向前做一次类似LIS,每次判断A[i]是否小于f[dp[i]+1],这样就可以确定该位...
分类:
其他好文 时间:
2014-11-13 14:48:55
阅读次数:
252
题意:给一个长度为n的序列,问每个数关于序列的LIS(longest increasing sequence)是什么角色。这里分了三种:
1、此数没有出现在任意一条LIS中
2、此数出现在至少一条但是不是全部的LIS中
3、此数出现在所有的LIS中
解法:nlgn的LIS算法可以求出以每个i位置结束的LIS长度up[i]。出现在L...
分类:
其他好文 时间:
2014-11-12 19:45:28
阅读次数:
214
不使用临时变量 交换两个变量值1.$a = $a+$b;$b = $a-$b;$a= $a-$b;2.list($a, $b) = array($b, $a);3.$a = $a ^ $b;$b = $a ^ $b;$a = $a ^ $b;
分类:
其他好文 时间:
2014-11-11 12:05:01
阅读次数:
176
操作符重载(operator overloading)是一种形式的C++多态,C++将操作符重载扩展到用户自定义的类型,如允许使用+将两个自定义的对象相加,编译器将根据操作数的数目和类型决定使用那种加法定义。要重载操作符,需使用操作符函数,格式如下:operator op (argument-lis...
分类:
编程语言 时间:
2014-11-09 19:22:23
阅读次数:
338
题目连接:hdu 5087 Revenge of LIS II
题目大意:给定一个序列,求第2长的LIS长度。
解题思路:用o(n^2)的算法求LIS,每个位置维护两个值,最大和最小即可。注意的是dp[0]中的最大第二大不能都复制成0.
#include
#include
#include
using namespace std;
const int maxn = 1005...
分类:
其他好文 时间:
2014-11-07 19:12:01
阅读次数:
244
1 string signature = Request["signature"]; 2 string timestamp = Request["timestamp"]; 3 string nonce = Request["nonce"]; 4 5 List list = new Lis...
分类:
微信 时间:
2014-11-07 18:51:58
阅读次数:
717
点击打开链接链接
Revenge of LIS II
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1028 Accepted Submission(s): 334
Problem Description...
分类:
其他好文 时间:
2014-11-06 22:04:56
阅读次数:
128
Problem Description
In computer science, the longest increasing subsequence problem is to find a subsequence of a given sequence in which the subsequence's elements are in sorted order, lowest to hig...
分类:
其他好文 时间:
2014-11-06 21:57:19
阅读次数:
187
HDU 1025 Constructing Roads In JGShining's Kingdom(构建道路:LIS问题)
http://acm.hdu.edu.cn/showproblem.php?pid=1025
题意:
有2n个点分布在平行的两条直线上, 上面那条是富有城市的1到n个点(从左到右分布), 下面那条是贫穷城市1到n个点(从左到右分布). 现在给出每个贫穷城市需要连接的富有城市的编号, 即(i,j)表示i贫穷城市只能连接j号富有城市 , 问你最多能构建几条贫穷城市到富有城市...
分类:
其他好文 时间:
2014-11-06 13:10:48
阅读次数:
160
最少拦截系统
题目大意:导弹拦截系统每次拦截导弹的高度都不高于上一次拦截的高度
给你一个导弹发射高度的序列,问最少用多少了拦截系统能够完成拦截?
思路:往上很多人都说是最长上升(不降序)子序列。但是很不好理解。那么
为什么是最长上升子序列呢。
这是因为假设最长上升子序列长度为N,那么作为最长上升子序列的每个元素
右边的非最长上升子序列的元素必然是下降的。且必然是最优情况。把每个最
长上升子序列的元素作为一个拦截系统的起点,那么它右边比它本身小的下降
序列就是这个拦截系统所能拦截的导弹,到下一个最长上升子序列...
分类:
其他好文 时间:
2014-11-06 13:05:40
阅读次数:
213