基础、经典dp题+简单记忆化搜索
文章平均质量分 91
PoemK
这个作者很懒,什么都没留下…
展开
-
hdu 1025 Constructing Roads In JGShining's Kingdom 最长上升子序列
Constructing Roads In JGShining's KingdomTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 19839 Accepted Submission(s): 5610Proble原创 2015-10-26 05:04:00 · 315 阅读 · 0 评论 -
CF 615B. Longtail Hedgehog 图 dp
水题一个B. Longtail Hedgehogtime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThis Christmas Santa gave Ma原创 2016-04-02 23:55:37 · 447 阅读 · 0 评论 -
CF 653B. Bear and Compressing
B. Bear and Compressingtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputLimak is a little polar bear. Polar原创 2016-04-01 13:41:34 · 670 阅读 · 0 评论 -
CF279C Ladder 简单DP
L[x]代表不递增序列,从x位置向左最远能延伸到的位置R[x]代表不递减序列,从x位置向右最远能延伸到的位置给出x,y只用判断R[x]是否>=L[y]即可。一看就感觉是水题。#include#include#include#include#include#includeusing namespace std;typedef long long原创 2016-03-21 13:06:46 · 971 阅读 · 0 评论 -
CF 651A Joysticks 贪心/DP
给出DP解,因为每一分钟过完后,一个用电器的电量-2,一个用电器的电量+1,dp[x][y]=max(dp[x-2][y+1],dp[x+1][y-2]);所以不能直接用递推求解,用记忆化搜索是可以的。因为不存在环,也就是说总电量是在减小的。#include#include#include#include#include#includeusing nam原创 2016-03-15 10:09:14 · 548 阅读 · 0 评论 -
hdu 2571 命运 简单DP
详见注释,写了我犯的错误。命运Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 14526 Accepted Submission(s): 5113Problem Description穿过幽原创 2016-03-11 19:24:17 · 272 阅读 · 0 评论 -
URAL 1017 Staircases 楼梯
递推:设dp[tot][x]表示一共用tot个block,最后一个台阶block的个数为x个。所以dp[tot][x]=dp[tot-1][x-1]+dp[tot-x][x-1];可以这样理解:计算用tot个block&&最后一个台阶block数为x的种数:因为最后一个台阶block数已经知道是x了,所以只用关心倒数第二个台阶。ans=倒数第二个原创 2016-03-07 17:11:18 · 358 阅读 · 0 评论 -
POJ 1083 Moving Tables 搬桌子
Moving TablesTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 29007 Accepted: 9670DescriptionThe famous ACM (Advanced Computer Maker) Company has rente原创 2016-01-17 21:51:23 · 349 阅读 · 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 评论 -
Codeforces Round #336 (Div. 1) A. Chain Reaction DP+(可选二分)
如果以位置为阶段,那么不用加二分。如果以beacons为阶段,那么必须加二分优化。如果beacons放置的区域范围过大,那么必然只能用dp+二分。A. Chain Reactiontime limit per test2 secondsmemory limit per test256 megabytesinputstandard原创 2016-04-06 12:38:59 · 491 阅读 · 0 评论 -
hdu 4826 Labyrinth 线性dp (易)
这是个比较简单的dp题给出一个m行n列的迷宫,要从左上角走到右上角。每次只能向上向下向右走。问经过的权值和最大是多少。(m和n不超过100)可以发现列数必然是递增的,所以所在的列数成为了阶段。设dp[i][j]表示在第i列的第j行从第i列进入第i+1列或者停止。LabyrinthTime Limit: 2000/1000 MS (Java/Other原创 2016-06-25 11:03:35 · 519 阅读 · 0 评论 -
hdu 4824 Disk Schedule 双调欧几里得 (TSP类)
Disk ScheduleTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 509 Accepted Submission(s): 219Problem Description有很多从磁盘读取数据的需求,原创 2016-06-30 21:26:52 · 383 阅读 · 0 评论 -
求最近点对算法分析
问题描述: 在应用中,常用诸如点、圆等简单的几何对象代表现实世界中的实体。在涉及这些几何对象的问题中,常需要了解其邻域中其他几何对象的信息。例如,在空中交通控制问题中,若将飞机作为空间中移动的一个点来看待,则具有最大碰撞危险的2架飞机,就是这个空间中最接近的一对点。这类问题是计算几何学中研究的基本问题之一。下面我们着重考虑平面上的最接近点对问题。 最接近点对问题的提法是转载 2016-11-27 11:35:18 · 487 阅读 · 0 评论 -
hdu 5074 Hatsune Miku 简单dp
题意:给出m*m的分值表和一个序列(其中有些位置待填),求总分值的最大值。总分值=序列中相邻元素的分值之和。解法:dp[i][x]表示考虑了前i个序列且最后一个为x的最优值。代码:#include<cstdio>#include<string>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#inc原创 2016-09-29 14:22:56 · 368 阅读 · 0 评论 -
CF 567C. Geometric Progression
题目链接题意:给出一个序列,求公比为k,且长度为3的子等比序列个数。(1 ≤ n, k ≤ 2e5)( - 1e9 ≤ ai ≤ 1e9) #解法: dp[0][x]表示当前x的数量。 dp[1][x]表示当前以值x结尾,长度为2且公比为K的等比数列数量。代码:#include<cstring>#include<iostream>#include<map>using namespace原创 2016-09-24 09:59:43 · 536 阅读 · 0 评论 -
CF 173C. Spiral Maximum 预处理
C. Spiral Maximumtime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputLet's consider a k × k square, divided in原创 2016-09-20 17:07:49 · 321 阅读 · 0 评论 -
CodeForces 314B. Sereja and Periods 思维+简单dp
题目题意:给出不超过100长度的两个字符串a、c,以及两个正整数b、d(b,d<=1e7),求最大的q使得ab能找到子串(字符不一定相邻)(bd)qa^b能找到子串(字符不一定相邻) (b^d)^q这个题我的思考角度不大好,唉… 令dp[x]表示c串的第x字符开始匹配,匹配完一个字符串a后,能够匹配多少个整字符串c,并且nex[x]代表下次开始匹配的位置。状态选取的好…之前一直想的是匹配完一个字符原创 2016-08-29 12:54:25 · 972 阅读 · 0 评论 -
hdu 4844 公路巡逻 dp(略难)
公路巡逻Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 89 Accepted Submission(s): 7Problem Description 在一条没有分岔的高速公路上有n个关口,相邻原创 2016-07-10 10:15:57 · 921 阅读 · 0 评论 -
uva 437 The Tower of Babylon 矩形嵌套模型,DAG最长路,水
比较两个blocks就是比较它们的底,且每一种block只会用一次,因此把一个block变为3个。#include#include#include#include#include#include#includeusing namespace std;#define all(x) (x).begin(), (x).end()#define for0(a, n)原创 2016-07-04 19:26:13 · 601 阅读 · 0 评论 -
NYOJ 题目16 矩形嵌套 dp(经典dp,简单,记忆化搜索)
矩形嵌套时间限制: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)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩原创 2016-07-03 11:33:25 · 381 阅读 · 0 评论 -
hdu 5532 Almost Sorted Array 最长上升子序列
Almost Sorted ArrayTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 0 Accepted Submission(s): 0Problem DescriptionWe are all原创 2015-11-01 16:23:29 · 408 阅读 · 0 评论 -
ZOJ1074 最大和子矩阵 DP最大连续子序列
To the MaxTime Limit:1 Second Memory Limit: 32768 KB ProblemGiven a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-原创 2015-07-27 09:07:29 · 477 阅读 · 0 评论 -
uva 11464 Even Parity 递推
题目链接:https://uva.onlinejudge.org/external/114/11464.pdf首先可以知道每个数字,可以改变或不改变(当然 依题意 ,是0才能够改变)这样暴力枚举会超时。那么既然暴力枚举不行,就证明有非暴力的解决方法:1. 贪心或规律,(直接找到解题策略)认为的找出改变方法,此策略对所有情况均适用。2.找出部分规律 ,定下解答的一部分原创 2015-09-06 16:43:13 · 380 阅读 · 0 评论 -
ZOJ 3689 Digging DP + 贪心
DiggingTime Limit: 2 Seconds Memory Limit: 65536 KB When it comes to the Maya Civilization, we can quickly remind of a term called the end of the world. It's not difficult to understand原创 2015-09-05 22:51:19 · 271 阅读 · 0 评论 -
LA 3516 Exploring Pyramids 记忆化搜索
题目链接:https://icpcarchive.ecs.baylor.edu/external/35/3516.pdfchar s[350];ll dp[maxn][maxn];ll DP(int le , int ri){ if(dp[le][ri]!=-1 ) return dp[le][ri]; if(le==ri) return dp[le][r原创 2015-09-04 18:13:35 · 325 阅读 · 0 评论 -
uva 11137 - Ingenuous Cubrency 立方数之和 递推
立方数之和:https://uva.onlinejudge.org/external/111/11137.pdfll dp[maxn];int main(){ int x; memset(dp,0,sizeof dp); dp[0]=1; for(int i=1;i<=21;i++) { int add=pow(i,3)+原创 2015-09-03 09:37:16 · 391 阅读 · 0 评论 -
hdu 5119 Happy Matt Friends 递推求解 2014ACM/ICPC亚洲区北京站
Happy Matt FriendsTime Limit: 6000/6000 MS (Java/Others) Memory Limit: 510000/510000 K (Java/Others)Total Submission(s): 1250 Accepted Submission(s): 483Problem DescriptionMatt h原创 2015-09-01 22:59:47 · 608 阅读 · 0 评论 -
uva 11375 Matches 递推关系||DP||高精度
题目链接:https://uva.onlinejudge.org/external/113/11375.pdf1. 直接求,求不来,可以用间接的方法------递推。 (看了老半天想不出解法,不是想着排列的就是组合,不是先分类就是先分布,还想着方程组的解,事实上好像都不大可行,看了书上说的用递推恍然大悟,重要的方法哇) 递推方法当然比直接求来得简单,可以说降低了难度。2原创 2015-08-31 19:22:57 · 499 阅读 · 0 评论 -
hdu 1158 Employment Planning
Employment PlanningTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4164 Accepted Submission(s): 1743Problem DescriptionA project原创 2015-08-03 09:31:59 · 427 阅读 · 0 评论 -
hdu 2059 龟兔赛跑 DP
龟兔赛跑Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 13474 Accepted Submission(s): 5040Problem Description据说在很久很久以前,可怜的兔子经历了人生中最大的原创 2015-08-01 20:04:08 · 384 阅读 · 0 评论 -
uva 11384 二分/ 递推
题目在这里那道题目,不可能暴力,想想递推,好像不好推,看到n很大,认为递推不可能,(后来发现也能),想到找规律。多次尝试,发现最好的分法是给出一个n,然后先减去n-n/2;然后剩余情况和 给出n/2时一样,原创 2015-09-07 15:26:43 · 321 阅读 · 0 评论 -
LA 3882 And Then There Was One 递推
题目:https://icpcarchive.ecs.baylor.edu/external/38/3882.pdf果然,还是经验不够,递推每次只进步一点就行了,一开始想了半天,总是把走完一圈当作一步,然后思考及其复杂,无法承受。看了题解,又思考了半天。感觉不是那么简单的。完全看不懂答案的代码,自己写了个。int n,m,k;int dp[maxn];int ma原创 2015-09-10 12:46:26 · 347 阅读 · 0 评论 -
poj 1018 Communication System 动态规划
Communication SystemTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 25393 Accepted: 9054DescriptionWe have received an order from Pizoor Communications原创 2015-10-26 13:01:26 · 563 阅读 · 0 评论 -
hdu 1024 Max Sum Plus Plus
Max Sum Plus PlusTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 12589 Accepted Submission(s): 4146Problem DescriptionNow I转载 2015-07-31 16:28:52 · 346 阅读 · 0 评论 -
uva 10564 - Paths through the Hourglass 沙漏里的路径 最优解+路径输出
题目:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=465&page=show_problem&problem=1505路径输出时查找路径的顺序和递推的顺序是反的,所以这个题一开始就要设计好状态的意义和递推的顺序,因为题目要求从上到下的路径要字典需最小。原创 2016-01-22 22:05:53 · 506 阅读 · 0 评论 -
UVA 11404 Palindromic Subsequence 刘汝佳的动归练习
写之前先写个现象: string ss=""; char c='5'; ss+=c; cout<<ss<<endl; ss=""+c;//""+东西初始化会出问题 cout<<ss<<endl; ss=""; ss=ss+c; coutstring的初始化直接用string s=""+char;会出问题上述代码的三次cout结果前原创 2016-01-18 19:18:14 · 473 阅读 · 0 评论 -
UVA 11552 - Fewest Flops 刘汝佳的动归练习
题目:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2547#include#include#include#include#include#include#include#include#include#include#原创 2016-01-18 14:08:07 · 406 阅读 · 0 评论 -
UVA 1424 - Salesmen 刘汝佳的动归练习 ★★★
题目:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=465&page=show_problem&problem=4170这个题目,一开始觉得很难,无从下手,后来不小心点进了一份题解,瞟了一眼题意描述,然后就会了。感觉最难的地方还是思路转换,就是对于一个具体原创 2016-01-18 10:23:54 · 374 阅读 · 0 评论 -
uvalive 6680 - Join the Conversation 动态规划
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4692这个题真是汗死了,训练赛的时候我看这个题快看了三个小时,题意到最后还是觉得没有理解,结果看人别人写的就是一个dp而已。题意: 要找到一个最大的集合,包含最多的原创 2015-11-06 09:18:50 · 1114 阅读 · 0 评论 -
hdu 1069 Monkey and Banana 记忆化搜索
Monkey and BananaTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10239 Accepted Submission(s): 5319Problem DescriptionA group原创 2015-11-02 00:02:18 · 344 阅读 · 0 评论