动态规划 序列型
文章平均质量分 77
_蓦然回首_
我们的团队具有多年Android、IOS、网站、Java开发经验,是一支充满活力,对技术充满激情的团队。
展开
-
NYOJ 44 子串和
题目要求最大连续非空子序列的和 方法一: dp[i] 表示判断到第 i 个数所取得的最大连续非空子序列的和,a[i] 表示第 i 个数 则 dp[i] = max(a[i], dp[i - 1] + a[i]) 代码如下: #include #include #include using namespace std; const int MAXN = 1000000 + 5;原创 2014-07-18 16:57:43 · 576 阅读 · 0 评论 -
NYOJ 740 “炫舞家“ST
“炫舞家“ST 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 ST是一个酷爱炫舞的玩家。TA很喜欢玩QQ炫舞,因此TA也爱屋及乌的喜欢玩跳舞机(Dance Dance Revolution,DDR)。但是TA每天还要努力的学习,因此TA希望每次都保存最多的体力来学习。 DDR的主要内容是用脚来踩踏板。踏板有4个方向的箭头,用1,2,3,4来代表,如下图所原创 2014-07-30 19:45:15 · 693 阅读 · 0 评论 -
POJ 2018 Best Cow Fences
Best Cow Fences Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 9840 Accepted: 3177 Description Farmer John's farm consists of a long row of N (1 FJ wa原创 2015-05-13 21:18:11 · 586 阅读 · 0 评论 -
UVA 11404 Palindromic Subsequence LCS
点击打开题目链接 给一个由小写字母组成的字符串,输出它的最长回文串,如果有多个结果,输出字典序最小的。 正序和逆序求最长公共子序列,不过要字典序最小,这里用结构体(第二次用结构体做dp)。 dp[ i ][ j ].len 表示 ch1 的前 i 位,ch2的前 j 位,最长公共子串的长度 dp[ i ][ j ].str 表示 ch1 的前i位,ch2的前 j 位,最长公共子串的最小原创 2016-05-03 21:19:54 · 390 阅读 · 0 评论 -
UVA 11584 Partitioning by Palindromes 区间dp
点击打开题目链接 一个由小写字母组成的字符串,划分成尽量少的回文串。 感觉和最长上升子序列差不多,区间dp,方法不对,导致TLE了好久。 dp[ R ] = min(dp[ R ], dp[ L - 1 ] + 1)( L #include #include #include #include using namespace std; const int MAXN = 10原创 2016-05-03 19:28:37 · 432 阅读 · 0 评论 -
UVA 531 Compromise
题目链接 UVA 531 题意: 求两篇文章中单词的最长公共子序列。 分析: 我们令 dp[ i ][ j ] 表示第一篇文章判断到第 i 个单词,第二篇文章判断到第 j 个单词时的最长公共子序列的长度。 状态转移: dp[ i ][ j ] = dp[ i - 1 ][ j - 1 ] + 1;(第 i 个单词和第 j 个相同); 或者 dp[ i ][原创 2015-08-11 10:30:19 · 395 阅读 · 0 评论 -
CSU 1510 Happy Robot DP
Happy Robot Time Limit: 1 Sec Memory Limit: 128 MB Submit: 147 Solved: 68 [Submit][Status][Web Board] Description Input There will be at most 1000 test cases. Each case c原创 2016-05-02 20:44:56 · 418 阅读 · 0 评论 -
HDU 1677 Nested Dolls
贪心 动态规划 STL LIS原创 2015-11-14 20:35:49 · 402 阅读 · 0 评论 -
POJ 2533 Longest Ordered Subsequence
Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 40236 Accepted: 17700 Description A numeric sequence of ai is ordered if a1 a原创 2015-10-16 20:50:52 · 344 阅读 · 0 评论 -
UVa 10534 Wavio Sequence
题目链接 UVa 10534 分析: 求一个序列的最长先递增再递减的子序列,且递增和递减的长度相同 假设长度为 2 * n - 1,前 n 个递增,后 n 个递减,中间共享一个元素 LIS 要用 O(nlog2^n) 的做法,不然超时 LIS O(nlog2^n)做法 代码: #include #include #include #include using name原创 2015-10-16 21:43:51 · 281 阅读 · 0 评论 -
HDU 1003 Max Sum
题目链接 DHU 1003 Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)原创 2015-08-06 20:14:56 · 344 阅读 · 0 评论 -
UVA 10131 Is Bigger Smarter?
题目链接 UVA 10131 题意: 给一群大象,求重量递增,智商递减的最多的大象的个数。 分析: 类似于最长上升子序列,f [ i ] 表示让第 i 个大象做最后一个大象的满足条件的序列长度, 则 f [ i ] = max( f [ i ] , f [ j ] + 1 )( 0 关于路径,我们记录最长序列的最后一个大象的编号,然后从他开始递归打印即可。原创 2015-08-05 08:49:52 · 375 阅读 · 0 评论 -
HDU 1159 Common Subsequence
Common Subsequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 26150 Accepted Submission(s): 11613 Problem Description A sub原创 2015-04-15 17:29:05 · 444 阅读 · 0 评论 -
NYOJ 16 矩形嵌套
矩形嵌套 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩形都可原创 2014-07-30 16:04:49 · 505 阅读 · 0 评论 -
NYOJ 745 蚂蚁的难题(二)
蚂蚁的难题(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 下雨了,下雨了,蚂蚁搬家了。 已知有n种食材需要搬走,这些食材从1到n依次排成了一个圈。小蚂蚁对每种食材都有一个喜爱程度值Vi,当然,如果Vi小于0的时候,表示蚂蚁讨厌这种食材。因为马上就要下雨了,所以蚂蚁只能搬一次,但是能够搬走连续一段的食材。时间紧急,你快帮帮小原创 2014-08-04 19:34:42 · 554 阅读 · 0 评论 -
UVA 10739 String to Palindrome
点击打开题目链接 dp[i][j] 表示使序列从下标 i 到下标 j 变成回文所需要的最小操作次数 有图有真相: #include #include #include using namespace std; const int maxn = 1000 + 5; char A[maxn]; int dp[maxn][maxn]; int main() { int原创 2016-05-18 10:03:17 · 400 阅读 · 0 评论