睡前小dp-poj2096-概率dp】的更多相关文章

http://poj.org/problem?id=2096 有n种分类,s种子系统,相互独立.每天发现一个bug等概率的属于n种分类和s种子系统. 要使发现的bug完全覆盖n种分类,s种分类,求天数的期望值. 用dp[n][s]表示已发现n种分类s种子系统需要的天数期望,则 dp[n][s]可以转化成dp[n][s] dp[n+1][s] dp[n][s+1] dp[n+1][s+1]. 只要表示出每一种情况的概率就可以了. #include <cstdio> #include <cs…
http://poj.org/problem?id=3254 从这里学的 http://blog.csdn.net/accry/article/details/6607703 状压dp的入门题.一片N×M的田地,有的地方可以种玉米,有的地方不可以.种玉米的区块不能相邻.种玉米的求总方案数,不种玉米也是一种方案. 每一行总共2^N种状态,其中删去有相邻的状态,删除不符合给定条件的状态.保留下最终的所有状态.然后开始dp. 从上往下,每一行之依赖于上一行.所以从上一行转移过去,把状态数加起来就行了.…
http://acm.hdu.edu.cn/showproblem.php?pid=3853 膜猴烧酒madoka 讲定义为dp[i][j] 位置为ij的魔法值期望,可以发现dp[i][j] = dp[i][j]*p1[i][j]+dp[i][j+1]*p2[i][j]+dp[i+1][j]*p3[i][j]+2 最后可以表示为 dp[x][y] = -p[x][y][])*(p[x][y][]*dp[x][y+]+p[x][y][]*dp[x+][y]+2.0); 递推的时候从右下角开始,向左…
http://poj.org/problem?id=1276 简单的多重背包,不过需要优化一下才能过.网上还有暴力的做法. 二进制优化在背包九讲里讲的比较清楚.对于多重背包的每一件物品,使用二进制的形式表示. 比如5件A价值物品,可以表示成1件1*A价值物品+1件2*A价值物品+1件2*A价值物品. 这三种物品就能表示选取原5种A物品所有的情况.从m变成了logm. 最后利用01背包来解决. #include <cstdio> #include <cstring> #include…
并不难,只是和期望概率dp结合了一下.稍作推断就可以发现加密与不加密是两个互相独立的问题,这个时候我们分开算就好了.对于加密,我们按位统计和就好了;对于不加密,我们先假设所有数都找到了他能找到的最好的匹配(就是异或后为二进制最高位与n-1相等的最大数)并且算出其异或后的总和,然后我们按位贪心,带着所有的数(一开始我们假设所有的数是小于等于二进制最高位与n-1相等的最大数的所有数)从高位走向低位,每走一步,如果这一位是0,就会导致一半的数在这一位不能是1,减去这一半的数在这一位上的贡献,如果这一位…
http://codeforces.com/problemset/problem/414/B 定义一个串为好的串当这个串符合 di|di+1,1<i<k-1 给定一个n为串中元素的取值范围,一个k为串的长度,计算串的所有可能的计数. 我一开始想到了用dp[i][j] i表示串的长度,j表示长度为i结尾为j的串的数目. 但是怎么递推我想歪了.我想的是从i-1推出所有的i,这样每次递推都有n^2的复杂度. 看了题解才明白是每次用i把i+1推出来. #include <cstdio> #…
                                                            Collecting Bugs Time Limit: 10000MS   Memory Limit: 64000K Total Submissions: 1899   Accepted: 901 Case Time Limit: 2000MS   Special Judge Description Ivan is fond of collecting. Unlike othe…
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=118282#problem/B 挺好的一个题目: 不过刚开始嘛,看别人题解长知识.这个人写的挺好的http://blog.csdn.net/xingyeyongheng/article/details/25179481 记住,for循环从n和s开始推是假设刚开始一个都没有找到.然后如果这个集合是全集的话,那么就相当于什么都没有.continue就行了. 然后这里就相当于每次加入一个新的b…
Codeforces Beta Round #16 (Div. 2 Only) E. Fish 题目链接:## 点击打开链接 题意: 有 \(n\) 条鱼,每两条鱼相遇都会有其中一只吃掉对方,现在给你一个 \(n * n\)的矩阵,表示 \(i\) 吃掉 \(j\) 的概率,最后问你每条鱼存活的概率. 题解: 最多有 \(18\) 条鱼,吃掉的概率都不一样,可以用状态压缩,设\(dp[1<<n]\)种状态,最多有 \(1<<18\) 种状态. $ dp[i]$ 表示当前鱼的状态为…
BZOJ 1076 [SCOI2008]奖励关 Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃). 宝物一共有$n$种,系统每次抛出这$n$种宝物的概率都相同且相互独立.也就是说,即使前$k-1$次系统都抛出宝物$1$(这种情况是有可能出现的,尽管概率非常小),第k次抛出各个宝物的概率依然均为$\frac 1 n$. 获取第i种…