
动态规划
文章平均质量分 82
Accagain
微博:http://weibo.com/u/3871485516
展开
-
记录路径dp-4713-Permutation
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4713题目大意:题意同HDU 3092这不过这题要输出路径。解题思路:思路同HDU 3092。因为n比较大,不能开二维只记录前面一个来 逆着存路径。所以对于每个状态,把到达它的所有数都保存下来。转移的时候将前面的路径也赋值过来。dp[i]表示表示不超过i的能分成的最大原创 2013-09-10 13:03:32 · 1491 阅读 · 0 评论 -
数位dp+LIS+状态压缩-hdu-4352-XHXJ's LIS
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4352题目意思:求区间L到R之间的数A满足A的的数位的最长自增序列的长度为K的数的个数。解题思路:数位dp+LIS+状态压缩根据求LIS的nlogn的思想,由于k最多为10,也就是最长递增序列的长度最多为10,可以状态压缩10位,维护前面的已选的递增序列,并及时更新。dp原创 2013-09-18 23:01:07 · 3321 阅读 · 0 评论 -
计数dp-hdu-3664-Permutation Counting
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3664题目意思:求1~n的排列个数,使得逆序数(ai>i ) 为给定的k.解题思路:计数dp.dp[i][j]表示前1~i的排列中,有j个数是逆序数的个数.dp[i][j]=(j+1)*dp[i-1][j]+(i-j)*dp[i-1][j-1].考虑数i的放的位置,显然要原创 2013-10-04 17:38:35 · 1219 阅读 · 0 评论 -
区间dp-hdu-4745-Two Rabbits
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4745题目意思:给n个环状的数,A、B两人沿相反的方向走,每单位时间走一步,要求相同时间两人到达相同的数,且同一位置同一个人不能走两次,走过的位置不能越过。解题思路:根据回文非连续序列的性质,从前往后,和从后往前序列是一样的,所以只用求出区间内最长的回文序列即可,又由于是环状,所原创 2013-09-20 18:15:23 · 3283 阅读 · 0 评论 -
递推计数-hdu-4747-Mex
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4747题目大意:给n个数,求所有区间内没有出现的最小非负整数和。解题思路:首先感谢大神博客:http://www.cnblogs.com/xin-hua/p/3325154.html可以解释的太少了。我再解释一遍。首先要明白,以i结束的所有区间的值的和记为f[i]肯定不超原创 2013-09-21 11:00:52 · 6921 阅读 · 9 评论 -
对抗搜索/dp-hdu-4753-Fishhead’s Little Game
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4753题目意思:在3*3的方格中,有4*4=16个点,标号分别为1~16,A、B两人轮流玩游戏,每次可以添加一条边(相邻节点),如果恰好能够凑成一个边长为1的正方形则得一分,两个的话得2分。给定两人放的n边后,求最终格局谁会胜。解题思路:状态压缩+对抗搜索。(对抗搜索做少了)原创 2013-09-21 21:53:16 · 1713 阅读 · 0 评论 -
树形dp-hdu-3660-Alice and Bob's Trip
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3660题目意思:Alice和Bob两个人从根0出发,轮流选择路径,Bob开始选,在满足总距离在区间【l,r】内,Bob总是选使总距离最大的路径走,Alice总是选使总距离最小的路径走,求最后走的总距离的最大值。解题思路:dp[i]表示两根从节点i出发满足各自要求的极值。(对于Bo原创 2013-10-06 14:45:14 · 2089 阅读 · 0 评论 -
概率dp-九度-1546-迷宫问题
题目链接:http://ac.jobdu.com/problem.php?pid=1546题目意思:有一个起点S,多个出口E,#代表不能走,每次等概率的随机选择下一个可以行走的位置,求从S到出口的期望。解题思路:高斯消元求解期望。先BFS预处理能够到达的出口的位置,然后如果从起点不能到达终点,直接输出-1.然后对于无效的点,置该未知数的解为-1,否则依据dp[i][原创 2013-10-08 00:35:11 · 2390 阅读 · 0 评论 -
dp-hdu-4455-Substrings
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4455题目意思:给一个长度为n的数组,有q个询问w,输出区间长度为w的所有子序列中不同数的个数总和。解题思路:dp+预处理优化,o(n)的时间复杂度才能过。dp[i]表示子串长度对于样例长度为1:1 1 2 3 4 4 5长度为2:11 12 23 34 44 4原创 2013-10-10 18:55:25 · 1238 阅读 · 0 评论 -
两种解法-树形dp+二分+单调队列(或RMQ)-hdu-4123-Bob’s Race
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4123题目大意:给一棵树,n个节点,每条边有个权值,从每个点i出发有个不经过自己走过的点的最远距离Ma[i],有m个询问,每个询问有个q,求最大的连续节点区间长度ans,使得该区间内最大的M[i]和最小的M[j]之差不超过q。解题思路:这套题目好卡时间。树形dp+二分+单调队原创 2013-09-25 14:27:06 · 2480 阅读 · 0 评论 -
数位dp-hdu-3693-Math teacher's homework
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3693题目意思:有n个数,(n解题思路:数位dp.首先归纳出一个很重要的性质:若x1^x2^x3^..xn=k,假设xi很大,则总数为(m1+1)*(m2+1)*,..*(m[i-1]+1)*(m[i+1]+1)*...*(mn+1).因为对于除了xi的n-1个数无论取什原创 2013-10-03 18:12:44 · 2510 阅读 · 0 评论 -
dp-史上最戳最长最臭代码-hdu-4733-G(x)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4733题目大意:定义G(x)=x⊕(x>>1).给两个由0、1、?组成的长度相同的字符串S1,S2.其中?表示0、1状态不确定,求有多少种p,使得G(p)=S1,G(p+1)=S2如果p唯一,则输出G(p)和G(p+1)(注意这中间不能有问号)。解题思路:这是我写的史上最臭最原创 2013-09-17 15:39:35 · 2405 阅读 · 6 评论 -
简单概率dp(期望)-hdu-3853-LOOPS
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3853题目大意:给一个r*c的矩阵,每个格子(x,y),用2魔法值就可以走一步,(可以到(x,y)、(x+1,y)、(x,y+1)),告诉每个格子的能到达的三个位置的概率,求从左上角到达右下角所需魔法值的期望。解题思路:简单期望dp.dp[i][j]表示从位置(i,j)到达终原创 2013-09-10 19:30:34 · 2258 阅读 · 0 评论 -
简单概率dp(期望)-hdu-4405-Aeroplane chess
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4405题目大意:跳棋有0~n个格子,每个格子X可以摇一次色子,色子有六面p(1=解题思路:简单概率dp,去年网络赛的一道水题,当时水平太差没过。dp[i]表示从i出发到达最终位置的次数期望。转移方程当i需要摇色子时,dp[i]=Σ(1+dp[i+j])(1预处理后面的原创 2013-09-11 10:30:49 · 1880 阅读 · 0 评论 -
简单概率dp(期望)-zoj-3640-Help Me Escape
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4808题目大意:有n条路,选每条路的概率相等,初始能力值为f,每条路通过的难度值为ci,当能力值大于某条路A的难度值b时,能够成功逃离,花费时间ti,小于等于时,不能逃离但能力值增加b.给定初始的能力值,求成功逃离的期望。解题思路:简单期望d原创 2013-09-10 17:27:27 · 1946 阅读 · 0 评论 -
借助树的概率dp(期望)+数学-好题-hdu-4035-Maze
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4035题目意思:有n个房间,有n-1条通道连接这n个房间(每两个房间之间有且只有一条路,所以实际上就是一棵树),在每个房间中,有三种选择要么被杀则回到第一个房间,概率为ki,要么从出口逃离概率为ei,要么通过通道到达其他的房间。解题思路:好题。状态转移方程很好想,但是求的时候原创 2013-09-11 00:00:41 · 2247 阅读 · 0 评论 -
期望dp-hdu-4336-Card Collector
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4336题目大意:有n种卡片,每包中至多有一种卡片,概率分别为p1,p2,...pn,可能有的没有卡片,求包数的期望,使得每种卡片都有。解题思路:由于n最多只有20,可以进行状态压缩。dp[i]表示在状态i获得的卡片的情况下,得到最后结果所需的包数期望。则dp[i]=no*(d原创 2013-09-04 23:36:35 · 1978 阅读 · 0 评论 -
状压dp-poj-1170-Shopping Offers
题目链接:http://poj.org/problem?id=1170题目意思:购物车里有b种(0=解题思路:离散化+状态压缩dp+背包。因为总的物品种数最多只有5种,而且每种物品的数量最多只有5,所以可以用状态压缩处理。六进制压缩,每一位表示一种物品,每一位代表的数表示该物品的个数。然后就是简单的背包处理,要么选不优惠的物品,要么选优惠的物品。代码:#in原创 2013-09-30 18:09:23 · 3246 阅读 · 0 评论 -
两次dp-poj-1239-Increasing Sequences
题目链接:http://poj.org/problem?id=1239题目大意:给一个数字串(不超过80位),可以在数字之间添加逗号,分成几个数,要求最后形成一个严格递增的序列,且要求最后一个数尽可能的小,如果有多个满足要求,则使第一个数尽可能大,如果还有多个,则使第二个最大,如此类推。求最后的序列。解题思路:好dp+思维。第一次从前往后dp,dp[i]表示包括第i位往原创 2013-09-30 23:24:23 · 2772 阅读 · 0 评论 -
常规(优化)dp-poj-3375-Network Connection
题目链接:http://poj.org/problem?id=3375题目大意:有m个接口(m解题思路:贪心优化dp.显然不交叉比交叉更好。dp[i][j]表示前i台电脑布到前j个接口所需的最小长度。dp[i][j]=min(dp[i-1][j-1]+abs(B[i]-A[j]),dp[i][j-1]),但直接这样求时间复杂度为O(nm),会超时。需要优化,能否优化原创 2013-10-01 11:04:15 · 1406 阅读 · 0 评论 -
简单数位dp-hdu-4734-F(x)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4734题目大意:给一个数A (十进制表示形式为AnAn-1An-2 ... A2A1,定义函数 F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1,给一个B,求B以内的i,满足F(i)解题思路:很裸的数位d原创 2013-09-16 21:20:00 · 2420 阅读 · 0 评论 -
树形dp+MST-hdu-4126-Genghis Khan the Conqueror
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4126题目意思:给一图,n个点,m条边,每条边有个花费,给出q条可疑的边,每条边有新的花费,每条可疑的边出现的概率相同,求不能经过原来可疑边(可以经过可疑边新的花费构建的边),注意每次只出现一条可疑的边,n个点相互连通的最小花费的期望。解题思路:树形dp+MST。先用krus原创 2013-09-26 17:42:59 · 2959 阅读 · 0 评论 -
MST(prim)+树形dp-hdu-4756-Install Air Conditioning
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4756题目意思:n-1个宿舍,1个供电站,n个位置每两个位置都有边相连,其中有一条边不能连,求n个位置连通的最小花费的最大值。解题思路:和这道题hdu-4126差不多,不过这题不能去掉与供电站相连的边。不同的是这题是一个完全图,求MST时,用kruscal算法的时间复杂度为elg原创 2013-09-27 14:14:56 · 2108 阅读 · 0 评论 -
简单dp-poj-2231-Moo Volume
题目链接:http://poj.org/problem?id=2231题目大意:给n个位置,求所有位置到其他n-1个位置的距离总和。解题思路:简单dp.o(n^2)的时间复杂度会超。先对这n个位置排序。然后从前置后,和从后到前各扫一遍,分别求出当前位置到前面所有位置的距离总和,以及当前位置到后面所有位置的总和。从前置后扫一遍,dp[i]表示位置i到前面所有位置的总和原创 2013-10-12 16:25:37 · 1394 阅读 · 0 评论 -
[dp] zoj 3769 Diablo III
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3769Diablo IIITime Limit: 2 Seconds Memory Limit: 65536 KBDiablo III is an action role-playing video game. A fe原创 2014-05-16 16:06:01 · 2556 阅读 · 0 评论 -
[dp] poj 1015 Jury Compromise
题目链接:原创 2014-05-09 22:46:14 · 2357 阅读 · 0 评论 -
[dp] AIZU 2156 Magic Slayer
题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2156Magic SlayerTime Limit : 8 sec, Memory Limit : 65536 KBProblem B: Magic SlayerYou are in a fantasy mon原创 2014-05-11 15:29:52 · 1163 阅读 · 0 评论 -
[dp] Codeforces 429B B. Working out
题目链接:http://codeforces.com/problemset/problem/429/BPROBLEMSSUBMITSTATUSSTANDINGSCUSTOM TESTB. Working outtime limit per test2 secondsmemory li原创 2014-05-13 10:47:14 · 9511 阅读 · 1 评论 -
[dp] zoj 3682 E - Cup 3
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3682E - Cup 3Time Limit: 3 Seconds Memory Limit: 65536 KBThe 2012 Europe Cup was over and Spain won the Champio原创 2014-05-13 10:27:56 · 1060 阅读 · 0 评论 -
组合dp hud-4532-湫秋系列故事——安排座位
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4532题目意思:告诉n个系的每个系的人数,求出排列数,使得任意相邻两个人来自不同的系,求出总的排列数。解题思路:记dp[i][j]:表示前i个系,中间有j个空位使得相邻两个人来自同一个系的组合数。先求出组合数,然后求出排列数。本题的关键:将难以避免考虑的情况(相邻原创 2013-06-18 21:23:19 · 1419 阅读 · 1 评论 -
[状压dp] hdu 4628 Pieces
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4628PiecesTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 1665 Accepted Submis原创 2014-10-10 16:05:45 · 1342 阅读 · 0 评论 -
[概率dp] zoj 3822 Domination
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3822DominationTime Limit: 8 Seconds Memory Limit: 131072 KB Special JudgeEdward is the headmaster of Marja原创 2014-10-12 19:15:28 · 1831 阅读 · 0 评论 -
[状压dp] hdu 4064 Carcassonne
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4064CarcassonneTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 857 Accepted Subm原创 2014-10-16 15:03:00 · 1952 阅读 · 0 评论 -
【DP专辑】ACM动态规划总结
动态规划一直是ACM竞赛中的重点原创 2014-05-15 13:43:46 · 25920 阅读 · 11 评论 -
[计数dp] ural 1114. Boxes
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=11141114. BoxesTime limit: 0.6 secondMemory limit: 64 MBN boxes are lined up in a sequence (1 ≤ N ≤ 20). You have A red ball原创 2014-05-09 15:15:47 · 1124 阅读 · 0 评论 -
简单树形dp-poj-1655-Balancing Act
题目链接:http://poj.org/problem?id=1655题目意思:给一棵树,求去掉一个节点,形成的多棵树中节点数的最大值最小。解题思路:简单树形dp.dp[i]表示儿子中节点数最多的分支节点数。sum[i]表示i为根的子树节点总数。第一遍dfs求出dp和sum,第二遍dfs枚举去掉的节点,max(dp[cur],from) //from表示从父亲原创 2013-10-24 21:09:37 · 2224 阅读 · 0 评论 -
dp-poj-1695-Magazine Delivery
题目链接:http://poj.org/problem?id=1695题目大意:需要送报纸给n个位置,有三辆车开始都在第一个位置,开始时可以装任意数量的报纸,每次只能用一辆车,且投送报纸时必须保证前一个位置已经投送。给出任意两个位置的时间花销,求最短的时间使得所有的位置都投了报纸。解题思路:常规dp.dp[p][q][l][i]表示前i个位置已经投送完毕,并且当前的原创 2013-11-23 15:39:57 · 1211 阅读 · 0 评论 -
简单dp-hdu-4681-String
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4681题目意思:给定三个串A、B、C.三个串。求一个最长的串D。使得D是A,B串的公共子串(不要求连续),且使C为D的连续子串。解题思路:本题的突破口在于,C是D的连续子串。所以如果在A、B中确定了C的第一个字符,那么最后一个字符也就确定了。所以整体思路就是枚举A,B中开始位原创 2013-11-26 21:26:47 · 1029 阅读 · 0 评论 -
dp(LCS转化成LIS)uva 10635 - Prince and Princess
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1576题目意思:有两个数组,求两个数组的最长公共子序列长度。两个数组中数都在1~n*n范围内,且数组内没有任意两个数相同。解题思路:常见的LCS时间复杂度为o(n*n)肯定行原创 2014-01-16 22:22:38 · 2984 阅读 · 0 评论 -
[高精度+递推] uva 10328 Coin Toss
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1269Toss is an important part of any event. When everything becomes equal toss is the ulti原创 2014-05-01 17:00:08 · 4558 阅读 · 0 评论