![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM_动态规划_LIS
kthsdwwl
这个作者很懒,什么都没留下…
展开
-
hdu 1025 Constructing Roads In JGShining's Kingdom
题目链接: 点击打开链接 题目大意: 有n对国家,每对国家一个缺资源,一个有资源。穷的国家按序号从左到右排列,富的国家也一样。要在一穷,一富国家之间建立一条铁路,而且铁路不能交叉,问最多能建多少铁路。 思路: LIS 分析: 将每条铁路按富国家序号从小到大排列,要使铁路不交叉,另一端的穷国家得排成一个上升序列。只要中间有一个穷国家不满足递增关系,那么铁路就会出现交原创 2013-12-18 18:50:16 · 411 阅读 · 0 评论 -
hdu 1257 最少拦截系统
题目链接: 点击打开链接 题目大意: 给定一串导弹的高度,问最少需要多少导弹拦截系统。 思路: LIS 分析: 首先,至少需要一套拦截系统,一开始可以打到第一颗导弹的位置。之后每来一颗导弹更新一下系统能打到的高度。一旦有一颗导弹所有系统都打不到了,增加一个系统。那么就会得到一个序列,每个系统目前能打到的最高位置。这个序列是递增的,后面的系统能打到的高度一定比前面高原创 2013-12-18 19:53:25 · 401 阅读 · 0 评论 -
poj 2533 Longest Ordered Subsequence
题目链接: 点击打开链接 题目大意: 求最长上升子序列 思路: 动态规划,LIS 分析: 最长上升子序列裸题,这里直接用复杂度O(N^2)的动态规划做,用dp[i]表示以第i个数字结尾的最长上升子序列(LIS)长度,那么状态转移时,对于所有j<i,Aj<Ai的j(Aj表示第j个数字),计算最大的dp[j] + 1就行了。 代码: #incl原创 2013-12-18 16:44:17 · 1158 阅读 · 0 评论 -
NYOJ 16 矩形嵌套
题目链接: 点击打开链接 题目大意: 一个矩形长宽均小于另一个矩形就可以嵌套进去,求嵌套矩形序列的最长长度。 思路: LIS 分析: 存放矩形时,长宽,宽长两种组合都存一次。接着对矩形数组按长度排序,最后求最长上升子序列就可以了。 代码: #include #include using namespace std; const int maxn =原创 2013-12-23 17:00:29 · 679 阅读 · 0 评论