DP
文章平均质量分 76
XDU_Truth
这个作者很懒,什么都没留下…
展开
-
HDU 4405 Aeroplane chess (DP求期望) #by Plato
http://acm.hdu.edu.cn/showproblem.php?pid=4405题目大意:通过摇筛子,做0跳到n点,有些点可以直接过渡,问要到达n点,需要摇色子的次数的期望值?Idea:常规的DP求期望dp[i]代表从i点要到达N点的期望值;状态转移方程:首先dp【N】=0;其次分两种情况:(1)i点不可以过渡,dp【i】=sum((dp【i+j】+原创 2012-09-25 23:05:37 · 540 阅读 · 0 评论 -
HDU 3698 Let the light guide us (DP+线段树) #by Plato
http://acm.hdu.edu.cn/showproblem.php?pid=3698HDU 3698 Let the light guide us (DP+线段树) #by Plato题意:一个N*M的矩阵,在每行上选一个点(建灯塔),每个点都要各自对应的代价c和灯塔的光亮f。同时相邻两行的点要满足 |j-k|≤f(i,j)+f(i+1,k)。问最小代价是多少。原创 2012-10-25 07:35:18 · 898 阅读 · 0 评论 -
Ball Stacking (DP+很有意思) #by Plato
题意:一个数字三角形,取球的规则是取A球的前提是叠在A上的球全部被取了,求最大的得分。思路:(我自己没想出来,看了别人代码,但是没看太懂,后来问了下CWK ,然后就懂了)#include #include #include #include #include #define OP(s) cout<<#s<<"="<<s<<" ";#define PP(s)原创 2012-12-31 08:24:39 · 740 阅读 · 0 评论 -
ZOJ 1463 POJ 1141 Brackets Sequence (区间DP) #by Plato
ZOJ 1463 POJ1141 Brackets Sequence (区间DP) #by Platohttp://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=463 题意: 给一个括号序列,求 为使序列合法化所需要添加的最少括号书。要求输出合法化后的序列。 Idea: 比较明显的DP了,f[i][j] 代表从 第原创 2013-03-12 20:01:36 · 1543 阅读 · 1 评论 -
URAL 1658 Sum of Digits (DP) #by Plato
URAL 1658 Sum of Digits (DP) #by Platohttp://acm.timus.ru/problem.aspx?space=1&num=1658http://acm.hust.edu.cn/vjudge/contest/view.action?cid=20662#problem/B 题意: 已知一个长度 解法: f[i][j] 代表 每位和为原创 2013-03-18 23:58:11 · 1550 阅读 · 1 评论 -
HDU 4504 威威猫系列故事——篮球梦(DP)#by zh
昨天做比赛的时候状态确实不太好,而且之前的dp题基本都没做过,直接就扔给WQJ去想了,现在做DP的时候没怎么有思路,昨天做这题的时候没什么想法,后来好甜说是背包方案数,昨天晚上睡觉的时候想了一下好像确实挺简单的,今天敲过去了。就是算出来自己的决策有多少个阶段,每个阶段都有三种决策,1,2,3中的一种。所以状态转移方程也就很好写了if(dp[i-1][j]){dp[i][j+1]+=dp[i-1][原创 2013-03-21 12:34:13 · 1928 阅读 · 3 评论 -
URAL 1651 Shorest Subchain DP #by Plato
http://acm.timus.ru/problem.aspx?space=1&num=1651题意: 给出一个有向图的chain,求关于这个chain的shortest subchain(起点、终点与原chain相同&边出现的顺序与原chain相同)。Idea:一DP : 依次处理每个a[i] : f[a[i]]=f[a[i-1]] + 1; 个人感觉这道题,难不在DP原创 2013-03-25 22:29:41 · 1017 阅读 · 0 评论 -
HDU 4521 小明系列问题——小明序列 DP – LIS加强版 #by Plato
HDU 4521 小明系列问题——小明序列 DP – LIS加强版 #by Platohttp://acm.hdu.edu.cn/showproblem.php?pid=4521 题意:给个序列,求其最长上升序列(LIS)。增加了个额外的条件,子序列中相邻两个距离必须大于D。Idea: 数据比较大,N = 10^5,得用 NlogN的算法,并且考虑那个额外的条件。大致的,增加原创 2013-03-27 23:11:59 · 1226 阅读 · 0 评论 -
2013长沙邀请赛 G - Travel in time #P
<!--img {max-width:100%}@font-face {font-family:宋体}@font-face {font-family:"Cambria Math"}@font-face {font-family:微软雅黑}@font-face {font-family:"\@微软雅黑"}@font-face {font-family:原创 2013-05-28 22:56:05 · 1210 阅读 · 0 评论 -
POJ 1655 - DP 树的重心,经典 #P
POJ 1655 - DP 树的重心,经典 #P 题意:求树的重心。树的重心:删去重心后,生成的多棵树尽可能平衡。重心的意义,在对树进行分治的时候可以避免N^2的极端复杂度(从退化链的一端出发),保证NlogN的复杂度。 解法:一开始想到的是模仿求树的直径那样子去Dp,两次DFS。son[i] - 结点i的儿子结点数目第一遍求出son;h[i] - 结点i向原创 2013-06-16 09:40:32 · 3841 阅读 · 0 评论 -
HDU 4669 Mutiples on a circle (环形数列DP)byPlato
HDU 4669 Mutiples on a circle (环形数列DP)byPlato http://acm.hdu.edu.cn/showproblem.php?pid=4669题意: 一个环形数列,可以把相邻的一段合并为一个数字。求其中有多少段能被k整除。(数列长度5W,k200) 题解的做法还没有看懂。。。下面是我自己的做法先不考虑环的情况,线性数列下,很容易发现原创 2013-08-14 15:01:03 · 1186 阅读 · 0 评论 -
长春现场赛H题
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3662刚开始以为是个搜索题,拿着搜了+剪枝果断超时了,后来很容易想到DP,DP很容易推,但是这个题关键恶心的地方就在于卡时间(平时也就算了,放到现场赛有意思吗??)。这题我是勉强A的(2.4S+),要预处理出来LCM[1000][1000],而且用mem原创 2012-10-18 20:07:08 · 609 阅读 · 0 评论 -
POJ 2096 Collecting Bugs (DP求期望) #by Plato
求期望的一道入门题,引用别人的讲解了/** dp求期望的题。 题意:一个软件有s个子系统,会产生n种bug。 某人一天发现一个bug,这个bug属于某种bug,发生在某个子系统中。 求找到所有的n种bug,且每个子系统都找到bug,这样所要的天数的期望。需要注意的是:bug的数量是无穷大的,所以发现一个bug,出现在某个子系统的概率是1/s,属于某种类型的概率是1/n。原创 2012-09-25 19:42:19 · 536 阅读 · 0 评论 -
POJ 2228 Naptime (DP) #by Plato
http://poj.org/problem?id=2228题意:从N个元素(环形队列)中选出B个,求最大得分。(元素得分仅当其前面的元素也被选择了)Shine:分类讨论的思想,边界处理Idea;假如是线性队列的话,Dp方程很容易写出:f[i][j][1] = max{f[i-1][j-1][1] + U[i],f[i-1][j-1][0]}f[i][j][0] = m原创 2012-09-25 13:31:03 · 1332 阅读 · 0 评论 -
TELE (树形DP&背包扩展) #by Plato
http://poj.org/problem?id=3017题意:N个结点的树,有M个叶子结点,取每条边有花费Ci,取每个叶子结点有价值Pi;求:在保证总收入(总价值-总花费)>0的情况下,能取到的叶子结点的最大数目Idea:其实就是把背包给扩展到了树结构,通过TreeDP+分组背包来实现。#include #include #include #i原创 2012-08-29 23:10:55 · 426 阅读 · 0 评论 -
hdu 2196 computer (树状DP+dfs)
http://acm.hdu.edu.cn/showproblem.php?pid=2196题意:有编号1-n的电脑相连成树状,1为根,求每个节点到其它节点的最大距离(n想了好久没想出来怎么DP,后来还是参考的别人的思路和代码。可以先对每个节点dfs出到叶子节点的最大距离和次大距离,在从根节点向下dfs该节点经过某点的最大距离(可能表达不清楚,看代码吧。。。)出处:http://w原创 2012-08-31 23:06:58 · 503 阅读 · 0 评论 -
HDU 4258 Covered Walkway (DP +数形结合)#by Plato 终于A出来了~~~~~
http://acm.hdu.edu.cn/showproblem.php?pid=4258题意:一个N个点的序列,要将他们全部覆盖,求总最少费用;费用计算: c+(x-y)2Idea:朴素的想法: f[i] = min(f[j] + (a[i]-a[j+1]) ^ 2+c) (N^2)公式变形+数形结合:f[i] = min{f[j] + a[j+1]^2 - 2*a[i]*a[原创 2012-09-05 22:55:14 · 967 阅读 · 0 评论 -
hdu_4283 You Are the One # by nobody
天津网赛一题简单的DP..题意:给定n(n 可以暂时不让当前的人出列将其压栈,问怎样安排能使得sigma(unhappiness i)最小,求这个最小值。解析:记忆化搜索dp[x][y]代表x-y人排队的最小sigma值,分第x个人第i次出栈得出最优子结构递归。详见代码:#include #include #include #include原创 2012-09-12 20:19:48 · 571 阅读 · 0 评论 -
POJ 1692 Crossed Matchings (DP) #by Plato
http://poj.org/problem?id=1692题意:两个集合分别有N1、N2个元素,求最大匹配交叉对的数目。(匹配交叉对:a和b中有两个元素相等,称其为value-match;现在是要有两个va-match,vb-match,并且他们相交,va!=vb)Idea:类似LCS;f[i] = MAX{f[i-1][j-1] ,f[i][j-1],f[i-1][j] }原创 2012-09-29 19:56:32 · 526 阅读 · 0 评论 -
POJ1985 Cow Marathon (DP/BFS 树的直径) #by Plato
http://poj.org/problem?id=1985题意:给一棵树,求树的直径方法一)tree-DP 类似HDU2196,可以参见:http://www.cnblogs.com/celia01/archive/2012/07/30/2615842.html#include #include #include #include #include using原创 2012-10-01 19:06:56 · 4147 阅读 · 0 评论 -
树的直径解法小结 #by Plato
树的直径—树中的最长简单路径 方法:1) 传统的:两遍BFS(DFS)第一次从任意结点u出发,求出它的最远点s(这个点一定是直径的端点)第二次从s出发,找到s的最远点t,s-t即所求。性质一:设起点为u,第一次BFS找到的终点v一定是树的直径的一个端点证明:http://www.cnblogs.com/wuyiqi/archive/2012/04/08/2437424.原创 2012-10-01 19:12:20 · 657 阅读 · 0 评论 -
HDU 2196 Computer (tree-DP 树的最长路 经典) #by Plato
http://acm.hdu.edu.cn/showproblem.php?pid=2196引用下别人的:题意:给定一棵树,求每一个节点所能到达的最长路径的长度分析:以编号的i的节点为例(非根节点),最长的路径长度只有俩种可能,1)子树中存在最长路径;2)通过父节点的路径中存在最长路径所以,只有分别求出每一节点对应的那俩种路径取大最大值即可,当然,根节点只存在第一种可能上面也给原创 2012-10-01 15:52:43 · 2330 阅读 · 0 评论 -
HDU 1561 The more, The Better (treeDP 背包) #by Plato
http://acm.hdu.edu.cn/showproblem.php?pid=1561 题意:一棵树,每个结点有个价值,从中取M个结点使得价值最大。(必须先取前置) Idea:之前也做过类似的题了。f[i][k][j] = max{ f[i][k-1][j] , f[i][k-1][j-m] + f[第k个儿子][…][m] }方程比较简单,treeDP上加个背包原创 2012-10-02 17:14:55 · 554 阅读 · 0 评论 -
poj 2288 (MST) #by nobody
题目链接:http://poj.org/problem?id=2288题意:哈密尔顿路问题。n个点,每一个点有权值,设哈密尔顿路为 C1C2...Cn,Ci的权值为Vi,一条哈密尔顿路的值分为三部分计算:1.每一个点的权值之和2.对于图中的每一条CiCi+1,加上Vi*Vi+13.对于路径中的连续三个点:CiCi+1Ci+2,若在图中,三点构成三角形,则要加上Vi*原创 2012-09-29 12:51:54 · 855 阅读 · 0 评论 -
12_10_8校内PK 部分补题 # nobody
D题:题目链接:http://acm.bnu.edu.cn/contest/problem_show.php?pid=11858题意是给删掉(或不动)给定一段(好甜的线段树方法没听懂,到网上搜到了题解,理解了一上午终于想清楚了,下午一敲就AC了。dp1[i]代表以i结尾的最大递增连续子序列数;dp2[i]代表的是以i结尾的最大符合题意结果。怎么dp呢?另原创 2012-10-09 15:20:10 · 868 阅读 · 0 评论 -
【Just AC it】IA 动态规划 小结 byPlato
【Just AC it】IA 动态规划 小结 综述:8#21开的题目,开学8#26-9#1休息了一个星期,然后今天把最后3题写了。题目质量很高。能不看题解做出来的就3道:A(树状数组模拟)、C(做过)、E(不算难的树形DP);其他5道都多少要看了题解才行。A题想不出递推方程,B题卡在转化为LIS那里,D题知道是状压但是思路有点小问题,F卡在优化状态+化简方程,G根本没什么思路。原创 2013-09-02 23:53:04 · 1047 阅读 · 0 评论