ACM_动归
文章平均质量分 73
xcszbdnl
这个作者很懒,什么都没留下…
展开
-
HDU1003
这个题目WR了N多次。。一开始看见100000的输入想采用O(n2)的算法。。直接TLE了。。今后估计这样太的数据应该采取O(n)或O(nlogn)的算法的。原题:http://acm.hdu.edu.cn/showproblem.php?pid=1003因为数据结构书上第一个算法分析实例就是这个题,也没怎么仔细看就直接写了,结果老WR,结果才发现书上的只针对Maxsum为正数的时候才原创 2012-08-05 20:21:54 · 8091 阅读 · 0 评论 -
hdu 3689
kmp外加dpdp[i][j]表示长度为i,末尾的chua原创 2014-08-27 21:10:00 · 593 阅读 · 0 评论 -
codeforces_374c
在一个二维表中搜特定序列的串。采用记忆化的搜索。dp[x][y]表示x,y能达到的最大深度,如果每次搜的时候能搜到原来的点,那么就是无穷的。如果dp[x][y]的深度大于4,说明是存在特定串的。AC代码:#include #include #include using namespace std;#define max(a,b) ((a) > (b)) ? (a) : (b原创 2013-12-19 20:09:40 · 494 阅读 · 0 评论 -
usaco_3.2.2
求满足条件,且排列序为I的串。有两种方式求,一是求出不满足条件的串,而所有串易求,不满足的也容易求,把不满足条件的串再I序前面的求出来,求出I的正常序。2是直接统计满足条件按的串。此题应为2的做法,因为不满足条件的串的求法和满足条件的串求法对称,也比较难求。用dp[i][j]表示长度为i,1的个数不超过j的满足条件的串的个数。那么dp[i][j] = dp[i - 1][j]原创 2013-12-02 16:36:41 · 573 阅读 · 0 评论 -
usaco_3.1.6
简单dp = =,没想出来。。一开始想到用dp[i][j] = 1来表示可以用j张邮票来找i钱。。转移方程为dp[i][j] = 1 if dp[i - coin[k]][j - 1] = 1。后面发现内存太大存不下。后面发现dp[i][j]只和dp[i - coin[k][j - 1]有关,于是准备用滚动数组去做。做不出来= =。。看了题解才知道可以用另外一种表示方法dp[i]表示原创 2013-10-27 11:02:12 · 513 阅读 · 0 评论 -
自己的动态规划题目(持续更新)
poj1837:大意,给定天平的位置和砝码,找到所放的位置能够使天平平衡。求有多少种摆放的方式。为了表明摆每个天平时的状态,可用一个度来表示,0表示平衡,0表示右边重。因为数据范围为-7500,7500,所以可以用7500来表示平衡。 poj1260:用dp[i]来表示处理第i个珍珠,因为对于第i个品质的珍珠,要么自己买,要么前面的珍珠和他一起湊过来买。所以状态转移方程为:dp[i] = mi原创 2013-07-07 15:12:16 · 816 阅读 · 0 评论 -
poj1018
首先会定义一个状态dp[i]来表示处理第i件物品,然而第i件物品的转移要依据前面的物理,会违背无后效性的原则,所以还需要增加定义一个状态来表示处理第i件物品时前i - 1件物品的最小带宽。 那么dp[i][j]应该代表什么呢?一开始已经想到了前面二维状态的代表,而没有想到dp[i][j]应该代表什么。而应该的想法是既然最小带宽已经被表示了,为了求到最大的B / P的话,B是已经知道的。所以我们原创 2013-04-13 11:47:47 · 498 阅读 · 0 评论 -
uva674_coin_change
给一定的钱数和硬币数,求该硬币能找出该钱数的最多方法数.1:一开始想到用dp[s]来表示钱数为s能找到最多的钱数,然后依次有5种状态转移,可是采用这种标记法的话马上会看出问题,如dp[6] = dp[5] + dp[1],dp[5] 和dp[1]很明显的是2和1,而dp[6]很明显是2,出现了错误。问题出现在哪里呢?因为dp[6]的找钱方法为6个1和1个1,1个5。而dp[5]的找钱方法为5个原创 2013-03-14 11:17:11 · 821 阅读 · 1 评论 -
UVa111
求最长公共上升子串问题。唯一没弄懂的是ci标注的是事件i的排序位置,而一开是直接找两个串的最长公共子序列,老WA。看了别人的解题报告才知道。不过现在对最长公共子串明白了很多了。转移方程主要是:if (x[i - 1] == y[j - 1]) LCS[i][j] = LCS[i - 1][j - 1] + 1else LCS[i][j] = max{LCS{i][j - 1],原创 2012-12-06 23:47:41 · 904 阅读 · 0 评论 -
hdu1176
http://acm.hdu.edu.cn/showproblem.php?pid=1176可将所有的时间段和馅饼看成是一个矩阵,时间就是行数,掉馅饼的就是列数,则就是数字三角形问题,从最底层找一条路径,使得路径上的和最大。状态转移方程为:dp[i][j]=max(dp[i+1][j-1],dp[i+1][j],dp[i+1][j-1])+pie[i][j]。pie[i][j]为时间i时在原创 2012-08-17 10:48:39 · 3124 阅读 · 0 评论 -
hdu1087
http://acm.hdu.edu.cn/showproblem.php?pid=1087看了几天DP,自己第一次自己想出来,主要还是和LIS很类似。就直接想出来了,所以多做题目还是有帮助滴。想到LIS的DP方程,此题目类似:dp[i]表示以value[i]结尾的最大分数。则状态转移方程为dp[i]=max(dp[j]+value[i],value[i]) 其中(value[j]原创 2012-08-15 21:44:45 · 3609 阅读 · 0 评论 -
hdu1466
http://acm.hdu.edu.cn/showproblem.php?pid=1466求n条直线有多少种交点数,,采用DP做法,自己一开始还老想第i条直线和前i-1条直线的关系,理不清楚,不知道怎样找方程。后面参考了别人代码,自己才AC过。采用数组dp[i][j]。若dp[i][j]==1,则说明放i条直线有j个交点,则只需要把dp[n][i]从i=0到i=190扫一遍,因为20原创 2012-08-14 22:11:29 · 1595 阅读 · 0 评论 -
POJ2533
题目:http://poj.org/problem?id=2533LIS最长上升子串问题。采用DP来解,一种是朴素的解法O(n^2)的。用dp[i]表示以a[i]结尾的最长上升子串的长度。则转移方程为dp[i]=max(1,dp[k])(0AC代码:注意n=0的时候最长子串为1.。。擦,这点老没想通,坑了N久。还是看Discuss里面的。#include#define Ars原创 2012-08-12 16:52:25 · 638 阅读 · 0 评论 -
POJ1088
http://poj.org/problem?id=1088滑雪。意思就是找到一条最长的滑雪路径,想到应该用DP来做,因为找到最高点的最长路径需要先找到它周围四个 点的最长路径。(这四个点都是可滑下去的),就出现了最优子结构,而找某一个点的最长路径的时候找其周围点,周围该点有可能被找多次,就出现了重叠子问题情况,就开始考虑用DP。状态函数f[i][j]表示以(i,j)为终点的最长路径,所以状态原创 2012-08-11 14:45:40 · 524 阅读 · 0 评论 -
POJ1157
题目:http://poj.org/problem?id=1157大意为F束花插入V个瓶子里面,花要按编号插,不同花插入不同的花瓶有不同的美观程度,要求最大的美观程度。采用DP做法。此题有两种解题,两种不同状态函数的表示。一种f[i][j]表示第i束花插入第[j]个瓶子里面所获得的最大的美观程度。则状态转移函数可以表示为f[i][j]=max(f[i-1][k]+a[i][j])其中i原创 2012-08-11 16:55:26 · 2856 阅读 · 0 评论 -
POJ1664
http://poj.org/problem?id=1664放苹果问题,m个苹果放n个盘子,盘子可以为空,1,1,5和5,1,1为同一种放法。f[m][n]表示m个苹果放n个盘子里面此问题可分为两个子问题:当m所以m当m>=n时,可分为两种放法,一种为至少有一个盘子为空,则有f[m][n-1]种放法。另外为n个盘子都不为空,则先将n个苹果一个一个放入n的盘子中,剩下的m-n个苹原创 2012-08-10 23:30:53 · 2331 阅读 · 0 评论 -
POJ1651
题目:http://poj.org/problem?id=1651是n个数相乘,每次从中抽取一个数出来与相邻两个数相乘,直到抽到只剩两个数字,第一个数和最后一个数不能抽。遇到这题又犯迷糊了,知道应该用DP做,就是不知道怎么方程,和矩阵链相似又不相似,后面又看了一下矩阵链,才发现其实题目原型就是一个矩阵链。序列就是相当于N个矩阵相乘,求乘法次数最少,直接按算法导论上写就行了。AC代码:原创 2012-08-10 17:00:48 · 3149 阅读 · 0 评论 -
hdu 3682
二分 + 状压dpdp[i][j]表示终点为i,fa原创 2014-08-27 21:12:24 · 651 阅读 · 0 评论