摘要: 状态压缩dp,感觉还是不清晰,虽说就两种状态 0 1,但是感觉变化太多了,而且状态转移也不好想题目:http://poj.org/problem?id=3254题意:给出 N * M的图,上面只有 0 或者 1两种情况,如果是 1 表示这里可以放牛,如果是 0 表示不可以放牛,而且牛是不可以相邻的,问在这片区域内最多有多少种放牛的方案很简单的一个状态压缩 按给出的样例来说先看第一行 (1 表示该位置有牛,0 表示该位置没有牛)可以用二进制串来表示牛的放置情况0 0 0 (0) 0 0 1(1) 0 1 0 (2) 1 0 0(4) 1 0 1(5) 也就是题目中给的第一行最多有这五种情况,分. 阅读全文
posted @ 2012-08-13 16:39 AC_Girl 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 两道树形 dp题目:http://poj.org/problem?id=2057题意:蜗牛的房子丢在了树上的某个节点上(每个节点的可能性相同),有些节点上有虫子,可以告诉蜗牛它的房子是不是在以这个节点为根的子树上,蜗牛找到房子的最小数学期望值是多少。首先期望是:找到房子走的步数 / 叶子节点的总数。叶子节点总数是固定的,那么走的步数越少,期望值也就越小,因为一个节点可能有多个孩子,从不同的孩子开始走得到的步数是不同的,优先选择哪个孩子这里用了贪心,解释见代码。定义三个数组su[N] // su [i] 表示走到以 节点 i 为根的子树成功找到房子的步数 如果 i 是叶子节点那么 su [i] 阅读全文
posted @ 2012-08-13 15:31 AC_Girl 阅读(171) 评论(0) 推荐(0) 编辑