2015年3月28日

CodeForces 268D Wall Bars :n层的梯子,每层四个方向只能选择一个方向搭建梯子,爬梯只能一个方向,最高不能爬超过h,问使能爬上梯顶的方案 :dp

摘要: dp好题啊!首先如何暴力的去做?dp[now][i][j][k][l]表示当前爬到now层,四个方向分别距离当前层为i j k l的方案,原来大于等于h的直接赋为h这样就能直接递推,复杂度1000*30*30*30*30,妥妥的T 1 #include 2 #include 3 #include 4... 阅读全文

posted @ 2015-03-28 01:59 xiao_xin 阅读(177) 评论(0) 推荐(0) 编辑

CodeForces 148D Bag of mice :w个白鼠和b个黑鼠,公主和龙随机轮流取鼠,龙取完会随机掉出一个鼠,谁先拿到白鼠谁赢问公主赢概率 :概率dp

摘要: 我写的dp方程比较繁琐了,是很自然的想到的,应该有更优的转移方案==dp[i][j][k1][k2] 表示若有i个白鼠j个黑球: dp[i][j][0][1]:公主先走赢得概率 dp[i][j][0][0]:公主先走输的概率 dp[i][j][1][1]:龙先走赢得概率 dp[i][j][1... 阅读全文

posted @ 2015-03-28 01:43 xiao_xin 阅读(195) 评论(0) 推荐(0) 编辑

CodeForces 283B Cow Program :给定数组2-n的值,每次变化1的值,按照向佐向右轮流方向走,对于每次变化输出走出数组时走的路长 :记忆化dfs

摘要: 对于2-n每个点记录向左向右走完接下来要走的路长为什么可以搜?因为只变化第一个而每次又从第一个走,那我们显然只需要记录每个点向左向右两种值要记得每次搜索都要初始1节点向右为没走过== 1 #include 2 #include 3 #include 4 using namespace std; 5 ... 阅读全文

posted @ 2015-03-28 01:23 xiao_xin 阅读(217) 评论(0) 推荐(0) 编辑

CodeForces 274B Zero Tree :每次选包含1节点的一棵子树,将该子树所有值都+1或者-1最少多少步可以使树值全部为0 :树型dp

摘要: 将1设为树根节点,接下来就好想了,因为更新一个点对应到1的路全部都要更新对于一个节点u,dfs他的所有儿子节点,返回最大需要+1的操作和最大需要-1的操作再接合自身返回给父亲节点+1 -1的最大操作最后结果就是1节点+1和-1的最大操作和 1 #include 2 #include 3 #inclu... 阅读全文

posted @ 2015-03-28 01:12 xiao_xin 阅读(676) 评论(0) 推荐(0) 编辑

CodeForces 364B Free Market :每次可以从已有商品换取高于价值不超过d的没有选过的价值,选最高价值 :dp/贪心

摘要: 题目中规定要换来的物品必须要是目前没有的=其实如果有重复的就可以把重复的去掉。。所以是等价的所以可以在输入的时候预处理取与不取当前值能拿到的值放入dp中然后在0的基础上一直寻找最大可交换的物品,一直到找不到结束== 1 #include 2 #include 3 #include 4 using n... 阅读全文

posted @ 2015-03-28 00:24 xiao_xin 阅读(174) 评论(0) 推荐(0) 编辑

导航