超经典问题
PoemK
这个作者很懒,什么都没留下…
展开
-
UVA 10534 - Wavio Sequence 最长上升子序列nlogn的应用
题目:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1475 无需多言,上代码: #include #include #include #include #include #include #include #include #inc原创 2016-01-17 23:08:08 · 636 阅读 · 0 评论 -
hdu 5823 color II 状压dp 图的色数
图的色数问题: 求一个图最少需要的颜色种数,使得对每个点涂色后相邻点不重色。原创 2016-08-11 18:55:04 · 761 阅读 · 0 评论 -
poj 1160 Post Office dp(序列划分,数学公式, 中偏弱,可优化)
题意:给出v个村庄,p个邮局,在村庄内建邮局,使得所有村庄到其最近邮局的距离之和最小。 Post Office Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 18408 Accepted: 9898 Description There is a原创 2016-07-04 10:30:23 · 651 阅读 · 0 评论 -
poj 1505 dp/二分+贪心 序列划分模型
题意:n本书分给m个人,要求 负责页数最多的人 所负责页数的最小值 ,输出分法。 解法:二分/dp +贪心输出。 贪心输出:从后往前,每次都使得最后面的人作尽量大的工作 Copying Books Time Limit: 3000MS Memory Limit: 10000K Total Submissions: 7812 Acc原创 2016-05-25 21:25:50 · 709 阅读 · 0 评论 -
USACO 2005 Cleaning Shifts 带权区间调度、覆盖问题 单调栈优化dp
首先,根据区间右端点从小到大的顺序对区间排序,之后以区间为阶段进行线性动归。 dp[x]的意义是第x个区间为最后一个区间,从开始时间到a[x].ri这段时间的最小花费。 计算dp[x]的时候,是找一个前面存在的p,使得 a[x].le -1 根据计算的顺序,维护一个只入队,不出队的单调递增队列,配合二分查找 即可快速完成 查找最优解的任务。 时间复杂度O原创 2016-03-27 13:01:26 · 647 阅读 · 0 评论 -
uvaLive 3222 Joke with Turtles 带权区间调度、覆盖问题 等价转换+线性动归
带权的区间调度问题,贪心似乎不好解决,一般的方法是动态规划 题目:点我 细节分析: 对于一个乌龟说的话,前面有a个乌龟,后面有b个乌龟,意为 该乌龟可能是第[a+1,n-b]名。 题目解法: 一个区间表示了一个名次,区间的长度表示这个名次有多少人。 给区间附上权值,如果有x个人的名次为区间[a,b],那么区间[a,b]的权值val为原创 2016-03-25 21:25:59 · 827 阅读 · 0 评论 -
CODEVS 3162 抄书问题 (复制书稿)
做这个题,犯了致命错误,wa了几发。 首先要dp,然后必须贪心输出结果,我这个错误以前犯过一次。 输出结果的时候局部最优不一定是全局最优, 因为输出的顺序是倒着来的,而且题目要求是让连续区间中的最大值最小,所以先应该记录这个全局最优值, 然后对于局部的路径输出,只需要满足 这题目还会有K==0&&M==0的数据。原创 2016-03-22 18:00:40 · 901 阅读 · 0 评论 -
hdu 1950 Bridging signals 最长上升子序列
Bridging signals Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 1392 Accepted Submission(s): 908 Problem Description 'Oh no, th原创 2016-03-14 15:06:41 · 461 阅读 · 0 评论 -
hdu 1505 City Game 简单DP 最大子矩阵 迭代法
hdu 1506 加强版 题解:点我 只不过在1506的基础上套了一重循环。 City Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6059 Accepted Submission(s):原创 2016-03-11 18:47:35 · 370 阅读 · 0 评论 -
hdu 1506 求最大子矩阵 简单DP 迭代法
L[i]表示区间[L[i],i ]内的x均有a[x]>=a[i],且L[i]取最小值。 R[i]表示区间[i, R[i] ]内的x均有a[x]>=a[i],且R[i]取最大值。 就是枚举高度最低的矩形,形成的矩形高度为 该矩形高度,之前预处理 找到最左边界,和右边界。 #include #include #include #include #原创 2016-03-11 17:57:09 · 443 阅读 · 0 评论 -
SPOJ 196 MUSKET - Musketeers 火枪手 环类问题
动态规划解决环类问题原创 2016-01-31 15:49:02 · 558 阅读 · 0 评论 -
poj 2479 Maximum sum 最大数字连续和
昨天周赛,我被我的做法和代码给恶心到了,不仅做法麻烦易错,而且代码啰嗦的要命,本来很简单的问题,却被做成一副惨状。特意修改了代码。 解法:设R[i]为以a[i]结尾的最大连续子段和,L[i]为以a[i]开头的最大连续子段和。 很显然枚举x,答案就是R[x]+max{L[j]} (1 其中max{L[j]}可以预处理,令dp[x-1]=max{L[j]} (1原创 2016-03-07 09:17:05 · 462 阅读 · 0 评论 -
uva-10635 Prince and Princess LCS转化为LIS
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=18 一个序列的最大长度是250*250,如果当作普通的LCS问题处理,得开二维数组dp[][],对于此题绝对是无限爆内存的。 题目的特殊之处在于: *(关键)1.每个序列的元素各不相同。 2.元素的值是有一原创 2016-01-18 23:10:26 · 421 阅读 · 0 评论 -
hdu 5532 Almost Sorted Array 最长上升子序列
Almost Sorted Array Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 0 Accepted Submission(s): 0 Problem Description We are all原创 2015-11-01 16:23:29 · 408 阅读 · 0 评论 -
ZOJ1074 最大和子矩阵 DP最大连续子序列
To the Max Time Limit: 1 Second Memory Limit: 32768 KB Problem Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-原创 2015-07-27 09:07:29 · 477 阅读 · 0 评论 -
hdu 1024 Max Sum Plus Plus
Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 12589 Accepted Submission(s): 4146 Problem Description Now I转载 2015-07-31 16:28:52 · 346 阅读 · 0 评论 -
dp[组号][个数] 模型
uva 1456 - Cellular Network uva 1366 - Martian Mining原创 2016-01-22 13:35:11 · 333 阅读 · 0 评论 -
递推法求解约瑟夫问题
递推法求解约瑟夫问题 uva 1394 - And Then There Was One uva 1452 - Jump 假设有n个人围成一圈,编号为0,1,2,3,...,n-1,现在从编号为0的人开始 1到k 报数,报k的人退出圈子,下一个人继续从1到k报数。直到所有人退出圆圈。 问:最后一个退出圆圈的人编号是多少? 求解: 利用递推法: 1.起点(边界): 考虑人数为1的情况 因为只有编号为0的人,所以最后出去的一定是0 dp[1]=0;原创 2016-01-22 13:17:07 · 1042 阅读 · 0 评论 -
hdu 1025 Constructing Roads In JGShining's Kingdom 最长上升子序列
Constructing Roads In JGShining's Kingdom Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 19839 Accepted Submission(s): 5610 Proble原创 2015-10-26 05:04:00 · 315 阅读 · 0 评论