
【动态规划】--高级DP
LaoJiu_
这个作者很懒,什么都没留下…
展开
-
hdu4126 Genghis Khan the Conqueror--最小生成树 & 树形DP(待解决)
原题链接: http://acm.hdu.edu.cn/showproblem.php?pid=4126原创 2016-08-08 15:36:01 · 584 阅读 · 0 评论 -
hdu5135 Little Zu Chongzhi's Triangles --状压dp
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5135题意:n根木棒,组成若干三角形,求最大面积和。分析:把所有木棒升序排序,可以组成三角形所有的的组合利用位运算压缩放进vector里。然后一个个找就行。#define _CRT_SECURE_NO_DEPRECATE#include#include#inc原创 2016-10-29 14:47:44 · 576 阅读 · 0 评论 -
hdu1561 The more, The Better--树形dp
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1561分析:建一个0点作为树根,把树连起来,dp[ i ][ j ]表示以i点为树根选择j个点的最大值。注意该题,每选择一个点都要确保它的前提的点都要选。当时在一个地方卡了下,假如是dp[ i ][ 2 ]的话,怎么确保选择两个点是连在一起的呢,因为你每次选择一个点都要先选它的前提,仔细原创 2016-10-20 13:17:21 · 599 阅读 · 0 评论 -
hdu4739 Zhuge Liang's Mines --状压dp
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4739题意:n个点,求出可以组成的最多的正方形的点数,要求每个点只能用一次,且正方形边平行坐标轴。分析:把所有点组合,判断是否是平行于坐标轴的正方形,是的话,保存,然后遍历。#define _CRT_SECURE_NO_DEPRECATE#include#inc原创 2016-10-30 14:15:01 · 591 阅读 · 0 评论 -
hdu5115 Dire Wolf--区间DP
原题链接: http://acm.hdu.edu.cn/showproblem.php?pid=5115原创 2016-08-10 13:13:39 · 648 阅读 · 0 评论 -
hdu1584 蜘蛛牌 --DFS & 区间DP
原题链接: http://acm.hdu.edu.cn/showproblem.php?pid=1584一:原题内容Problem Description蜘蛛牌是windows xp操作系统自带的一款纸牌游戏,游戏规则是这样的:只能将牌拖到比她大一的牌上面(A最小,K最大),如果拖动的牌上有按顺序排好的牌时,那么这些牌也跟着一起移动,游戏的目的是将所有的牌按同一花色原创 2016-05-23 18:04:26 · 1188 阅读 · 0 评论 -
hdu2089 不要62--数位dp入门题
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089题意:给定a,b两数,求两数之间所有数不含有62和4的个数。分析:dp[ i ][ j ]表示i位数,最高位是j的满足题意的个数。if (cnt[i] == 4 || (cnt[i] == 2 && cnt[i + 1] == 6));break;原创 2016-11-01 17:22:44 · 556 阅读 · 0 评论 -
hdu3555 Bomb --数位dp
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555题意:1---n之间的数包含49有多少个。分析:看代码。#define _CRT_SECURE_NO_DEPRECATE#include#include#include#include#include#include#include#inclu原创 2016-11-02 09:34:38 · 620 阅读 · 0 评论 -
hdu4745 Two Rabbits--最长不连续回文序列 & 区间dp
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4745题意:两只兔子,在n块围成一个环形的石头上跳跃,每块石头有一个权值ai,一只从左往右跳,一只从右往左跳,每跳一次,两只兔子所在的石头的权值都要相等,在一圈内(各自不能超过各自的起点,也不能再次回到起点)它们最多能经过多少个石头(1 分析:其实就是求一个环中,非连续最长回原创 2016-10-15 14:08:57 · 568 阅读 · 0 评论 -
poj1947 Rebuilding Roads--树形dp
原题链接:http://poj.org/problem?id=1947题意:给出n,p,一共有n个节点,要求最少减去最少的边是多少,剩下p个节点思路:典型的树形DP,dp[s][i]:记录s结点,要得到一棵j个节点的子树去掉的最少边数 考虑其儿子k 1)如果不去掉k子树,则 dp[s][i] = min(dp[s][j]+dp[k][i-j]) 0 2)原创 2016-10-18 13:59:49 · 484 阅读 · 0 评论 -
hdu3899 JLUCPC--树形dp(好题)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3899题意:给定n个点,每个点的人数,n-1条边和边权。选取任意一点u,然后让所有人都移动到u点,问最小的移动距离和是多少。分析:注意数字比较大,用long long,递归深度较大,用了#pragma comment(linker, "/STACK:102400000原创 2016-10-22 16:08:09 · 662 阅读 · 0 评论 -
FZU2218 Simple String Problem--状压dp
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2218给定一个字符串,由前k个小写字母组成,取两个子串,其中一个子串内的字母不与另一个子串内任何字母相同,求最大长度积。思路:k最大16,明显的状压dp。先把字符串的每段区间压缩,放进dp[ ],接着从0到(1<#include<iostream>#include<stdio.h>#include<algor原创 2017-05-16 09:09:21 · 714 阅读 · 0 评论 -
hdu4632 Palindrome subsequence--区间dp
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4632题意:求一个字符串所有子串是回文的个数,注意子串可能是这样的情况:原串abcde,子串abd。#define _CRT_SECURE_NO_DEPRECATE #include#include#include#include#include#include#原创 2016-10-10 14:22:31 · 645 阅读 · 0 评论 -
UVA 10859 Placing Lampposts--树形dp
原题链接:http://vjudge.net/problem/UVA-10859题意:给一个N个点M条边的无向无环图,每个节点都可以放灯。每盏灯将照亮以它为一个端点的所有边,在所有边都被照亮的前提下使得被两盏灯照亮的边的总数尽可能多,求灯的总数最小值,被两盏灯同时被照亮的边数和被一盏灯照亮的边数。分析:一个很有用的技巧:有两个所求的值要优化,比如让a尽量小,b也尽量原创 2016-10-22 11:14:58 · 578 阅读 · 0 评论 -
hdu5045 Contest ---- 状态DP
原题链接: http://acm.hdu.edu.cn/showproblem.php?pid=5045一:原题内容Problem DescriptionIn the ACM International Collegiate Programming Contest, each team consist of three students. And the teams原创 2016-05-28 19:03:33 · 679 阅读 · 0 评论 -
poj1192 最优连通子集--树形dp
原题链接:http://poj.org/problem?id=1192题意:其实就是一个求无向树的所有子树和的最大值分析:树形dpdp[i][0]表示以i为根,不包括i结点的子树获得最大权dp[i][1]表示以i为根,包括i结点的子树获得的最大权dp[i][0] = max(dp[k][0], dp[k][1]) k为i的所有孩子结点dp[i][1] = i原创 2016-10-19 14:33:08 · 766 阅读 · 0 评论 -
poj3420 Quad Tiling--状压dp+矩阵快速幂
原题链接:http://poj.org/problem?id=3420题意:一个4*n的格子,一个1*2的填充,求填充方式。分析:n最大是10^9,比较大,用矩阵快速幂优化速度。#define _CRT_SECURE_NO_DEPRECATE#include#include#include#include#include#include#incl原创 2016-10-28 16:34:11 · 555 阅读 · 0 评论 -
hdu3632 A Captivating Match--区间dp
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3632题意:n个人比赛,每个人一个价值v[i],相邻两人a,b比赛,输的人淘汰,最后剩下的那个人的价值最大可以是多少?分析:相邻比赛,最后剩下的人可以有好几种,但是这好几种中我们要选一个价值最大的。起先的思路是枚举最大的价值(依次变小),看从他开始是否可以把所有人淘汰,这个思路是原创 2016-10-11 12:59:02 · 587 阅读 · 0 评论 -
UVALive 4015 Caves--树形dp
原题链接:http://vjudge.net/problem/UVALive-4015题意:n个部落,编号0到n-1,n-1条路连接n个部落,连成一棵树,机器人从树根出发,问在最多走x米最多经过多少部落。分析:dp[ i ][ j ][ 0 ]表示从i部落出发,经过j个部落且不回到起点 i 的最小路径;dp[ i ][ j ][ 1 ]表示从i部落出发,经过j个部落原创 2016-10-21 18:39:46 · 614 阅读 · 0 评论 -
UVALive 2038 Strategic game--树形dp
原题链接:http://vjudge.net/problem/UVALive-2038题意:一棵树,n个点,0为根,求最少的点可以覆盖所有边。分析:dp[ u ][ 0 ]表示u点不选;dp[ u ][ 1 ]表示该点选择。#define _CRT_SECURE_NO_DEPRECATE #include#include#include#inc原创 2016-10-22 08:04:57 · 632 阅读 · 0 评论 -
hdu3506 Monkey Party--区间dp & 石子归并 & dp四边形优化
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3506题意:石子归并问题。用到了dp四边形优化:http://blog.youkuaiyun.com/u014800748/article/details/45750737在一个圆形操场的四周摆放着n 堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2 堆石子合并成新的一堆,并原创 2016-10-12 12:18:55 · 1074 阅读 · 0 评论 -
poj1651 Multiplication Puzzle--区间dp
原题链接:http://poj.org/problem?id=1651题意:给出N个数,每次从中抽出一个数(第一和最后一个不能抽),每次的得分为抽出的数与相邻两个数的乘积,直到只剩下首尾两个数为止,问最小得分是多少#define _CRT_SECURE_NO_DEPRECATE #include#include#include#include#include#原创 2016-10-12 13:27:42 · 612 阅读 · 0 评论 -
hdu4705 Y--树形dp
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4705题意:一棵树,求三个点不在一条线的个数。分析:注意,反过来求,求出三个点在一条线的个数,最后总数减去在一条线的就行。注意,在一条线的意思也可能是三个点不是连续邻近,只要三个点能用一条线连起来就行,不管中间会隔多少点。#define _CRT_SECURE_NO_原创 2016-10-23 11:09:17 · 927 阅读 · 0 评论 -
URAL - 1057 Amount of Degrees--数位dp
原题链接:http://vjudge.net/problem/URAL-1057题意:[ x , y ]里一共有多少个数可以由k个b整数幂组成。分析:http://wenku.baidu.com/link?url=q4atTAoZVGlV6sfo0fhED06ogbktY38_TZkGWLkuOpTRiqyI-eDyarkTeL10fv2GdUe53DMIloZ_sD0gZ原创 2016-11-03 20:00:31 · 1059 阅读 · 0 评论 -
poj2955 Brackets--区间dp
原题链接:http://poj.org/problem?id=2955题意:字符串括号最大匹配数。#define _CRT_SECURE_NO_DEPRECATE #include#include#include#include#include#include#include#define INF 99999999#define eps 0.0001u原创 2016-10-13 16:22:32 · 634 阅读 · 0 评论 -
poj1141 Brackets Sequence--区间dp
原题链接:http://poj.org/problem?id=1141题意:给一个不规则的字符串,求添加最少的字符使其成为一个规则的字符串#define _CRT_SECURE_NO_DEPRECATE #include#include#include#include#include#include#include#include#define INF原创 2016-10-14 18:40:20 · 580 阅读 · 0 评论 -
poj 3254 Corn Fields--状压dp入门
原题链接:http://poj.org/problem?id=3254题意:给出一个n行m列的草地,1表示肥沃,0表示贫瘠,现在要把一些牛放在肥沃的草地上,但是要求所有牛不能相邻,问你有多少种放法。分析:http://www.tuicool.com/articles/JVzMVj#define _CRT_SECURE_NO_DEPRECATE#pragma c原创 2016-10-25 14:35:26 · 608 阅读 · 0 评论 -
LightOJ 1031 Easy Game--区间dp
原题链接:http://vjudge.net/problem/LightOJ-1031题意:n个数,两个人A和B每次从头部或尾部取出若干个数,直到取完,最后 ’A取出数和‘ 减去 ‘B取出数和’ ,使其最大,求这个最大值。分析:dp[ i ][ j ]表示区间i,j内A-B的最大值。那么对于k(i#define _CRT_SECURE_NO_DEPRECATE原创 2016-10-16 10:36:39 · 754 阅读 · 0 评论 -
poj2411 Mondriaan's Dream--状压dp
原题链接:http://poj.org/problem?id=2411.题意:一个n*m的方格,给定一个1*2的方块,要求用这个方块填充方格,填满,一共多少种填充方法。分析:对于一行的某一列来说,该列有三种:横着,竖着,不填。首先dfs求出一行可以有多少种可能。再枚举每种可能,直接看代码,不难的。#define _CRT_SECURE_NO_DEPRECATE#原创 2016-10-26 13:22:00 · 601 阅读 · 0 评论 -
poj2342 Anniversary party--树形dp入门
原题链接:http://poj.org/problem?id=2342题意:某公司要举办一次晚会,但是为了使得晚会的气氛更加活跃,每个参加晚会的人都不希望在晚会中见到他的直接上司,现在已知每个人的活跃指数和上司关系(当然不可能存在环),求邀请哪些人(多少人)来能使得晚会的总活跃指数最大。分析:任何一个点的取舍可以看作一种决策,那么状态就是在某个点取的时候或者不取的时候,以他原创 2016-10-17 15:10:36 · 554 阅读 · 0 评论 -
poj 2663 Tri Tiling--状压dp
原题链接:http://poj.org/problem?id=2663题意:一个3*n的表格,用一个1*2的方块填充,在填满的情况下,一共多少种填充方式。http://blog.youkuaiyun.com/qiqijianglu/article/details/8082042http://blog.youkuaiyun.com/u010663294/article/details/3485603原创 2016-10-27 13:10:47 · 968 阅读 · 0 评论 -
【高级DP】目录
区间DP待解决:区间dp:hdu2476hdu5396hdu4283poj1179LightOJ - 1422 http://vjudge.net/problem/27130树形dp:hdu4607hdu5723hdu5416http://blog.c原创 2016-10-10 15:55:56 · 1381 阅读 · 0 评论