
dp+状态压缩
文章平均质量分 80
xymscau
这个作者很懒,什么都没留下…
展开
-
HDU 4026
这题比赛的时候没写出来,当时理解错题意了,这题意有点不清楚,是一个触屏机的解锁系统,问你有多少种方案。原来可以任意角度进行滑行,不过不能跳过没按的,简单的来说就是经过所有要按的点,然后要满足这个点是否有一条路线到达这个点,就是这里感觉处理异常困难,分析一下,走过的点可以跳过,原创 2011-09-10 23:13:17 · 2091 阅读 · 2 评论 -
hdu 3681
题意:一个机器人想越狱,他只能带一定电量的电池,'S'表示道路可行,'G'表示充电器,只可充电一次,但是可以经过很多次。'F'表示起点,'Y'表示要破坏的机关,也是只能破坏一次,但是可以经过无数次。'D'表示不能经过的地点。求他能破坏所有机关,带的最小初始电量。虽然知道要用d原创 2011-08-26 00:03:56 · 2198 阅读 · 4 评论 -
poj 2411
题意:用1*2的木板,去覆盖矩阵,求覆盖方法数。这题是看人家的题解写的,状态的表示有点不一样,横着覆盖就表示成11,竖着的就用上一行为0,下一行为1来表示,这题的关键在于位运算,|和&的用法,特别是判断两行是否和法,除了两行|后要全为1,还要注意,除了竖放的其他木块要合法,刚原创 2011-08-24 23:28:05 · 1022 阅读 · 0 评论 -
zoj 3001
题意:你要去旅行,要经过n个点,每个点最多经过两次,每一条路径有一定的消费,求最小消费。状态设定很简单。dp[i][j],表示i状态下j是最后到达的城市,不过最多经过两次所以要用三进制的状态0表示不经过,1表示经过一次,2表示经过两次。边界条件显然是开始出发的城市设定为0。接原创 2011-08-24 20:30:31 · 668 阅读 · 0 评论 -
zoi 3471
题意:两个原子碰撞会消失一个原子,同时产生大量的能量。问你这些原子碰撞后产生的最大能量。状态很好设定,本来我是这样设定的dp[i][j],表示i状态时j消失,只要枚举和j碰撞的原子即可,后来发现其实那个i状态没用,就去掉了直接dp[i],刚开始觉得倒过来dp有点麻烦,就直接把原创 2011-08-23 23:40:32 · 577 阅读 · 0 评论 -
poj 2288
题意:求一条哈密顿回路,但是权值计算不同,包括三部分:1经过个所有点的权值相加。2经过的连续两个点的权值的乘积。3,能够构成三角型的连续三个点的乘积。这些全部加起来就是这条回路的总权值。输出最大权值和这个最大权值的路线有多少条。这题是迄今为止最令我蛋疼的一题,都是看着题解写的原创 2011-08-23 11:30:47 · 2655 阅读 · 2 评论 -
poj 3311
题意:一个送披萨的,每次送外卖不超过10个地方,给你这些地方之间的时间,求送完外卖回到店里的总时间最小。最近有点sb,经常犯sb的错误,今天又是,蛋疼啊。这题很明显的dp,dp[i][j]:表示在i状态(用二进制表示城市有没有经过)时最后到达j城市的最小时间,转移方程:dp[原创 2011-08-22 19:38:27 · 2555 阅读 · 0 评论 -
poj 1185
这题我纠结了一个晚上,一直不知道为什么simple过不了,思路很明确,没理由会错掉,直到今天早上,我把所有的变量打出来看看,发现了一个错误,在弄状态的时候,打多个等号,导致多了一种不应该存在的状态,罪过啊,潜意识竟然都默认那是对的。后来改过来就果断a了.状态要设定三个因为和上面两原创 2011-08-21 09:23:28 · 2495 阅读 · 3 评论 -
poj 3254
题意:Farmer John 放牧cow,有些草地上的草是不能吃的,用0表示,然后规定两头牛不能相邻放牧。问你有多少种放牧方法。这题的状态很好设定dp[i][j]:表示i行的第j中状态可以放牧的总数,显然要先对状态先预处理,然后dp只要看看能不能从上1层的状态转移过来,这里注原创 2011-08-20 11:49:10 · 1967 阅读 · 2 评论 -
hdu 3920
题意:你在一个位置用激光枪灭敌人,给你初始位置,下面是2*n个敌人的位置,你一枪能杀两个,可以杀死任意两个人,激光束的路径是消耗的能量,求最小能量,保证一次只消灭两个敌人,你的位置不变。这题压缩状态很容易想到,状态也很容易想到,但是会tle,这题的关键在于,贪心和记忆化搜索,原创 2011-08-27 23:12:32 · 1057 阅读 · 0 评论