题1: Uva 1636 Headshot

题目大意:

给出一个000111序列,注意实际上是环状的。问是0出现的概率大,还是当前是0,下一个还是0的概率大。

问题比较简单,注意比较大小: A/C > B/D  <=> A * D > B * C

 #include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <iostream> using namespace std; char str[]; void Solve(){
int len = strlen(str);
int cnt1 = , cnt2 = ; for(int i = ; i < len; ++ i){
if(i == len - ){
if(str[i] == '') ++ cnt1;
if(str[i] == '' && str[] == '') ++ cnt2;
}
else{
if(str[i] == '') ++ cnt1;
if(str[i] == '' && str[i + ] == '') ++ cnt2;
}
} if(cnt2 * len > cnt1 * cnt1) puts("SHOOT");
else if(cnt2 * len < cnt1 * cnt1) puts("ROTATE");
else puts("EQUAL");
} int main(){
while(scanf("%s", str) != EOF){
Solve();
} return ;
}

Uva 1636

题2: Uva 1637 Double Patience

扑克牌拿牌问题。开一个9维的数组,记忆化搜索。

 #include <bits/stdc++.h>

 using namespace std;

 double f[][][][][][][][][];
bool vi[][][][][][][][][];
char str[][], poker[][]; double dfs(int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8, int p9){
if(vi[p1][p2][p3][p4][p5][p6][p7][p8][p9])
return f[p1][p2][p3][p4][p5][p6][p7][p8][p9];
vi[p1][p2][p3][p4][p5][p6][p7][p8][p9] = true; bool flag = false;
int top[] = {, p1, p2, p3, p4, p5, p6, p7, p8, p9};
double &x = f[p1][p2][p3][p4][p5][p6][p7][p8][p9]; for(int i = ; i <= ; ++ i)
if(top[i]){
flag = true;
break;
}
if(!flag)
return x = 1.0; int cnt = ;
double sumper = ; for(int i = ; i <= ; ++ i){
if(top[i]){
for(int j = i + ; j <= ; ++ j){
if(top[j] && poker[i][top[i]] == poker[j][top[j]]){
cnt ++;
top[i] --; top[j] --; sumper += dfs(top[], top[], top[], top[], top[], top[], top[], top[], top[]); top[i] ++; top[j] ++;
}
}
}
} if(sumper > ) x = (double) sumper / cnt; return x;
} int main(){
while(~scanf("%s%s%s%s", str[], str[], str[], str[])){
memset(f, , sizeof f);
memset(vi, false, sizeof vi); for(int i = ; i <= ; ++ i)
poker[][i] = str[i -][];
for(int i = ; i <= ; ++ i){
scanf("%s%s%s%s", str[], str[], str[], str[]);
for(int j = ; j <= ; ++ j)
poker[i + ][j] = str[j - ][];
} dfs(, , , , , , , , ); printf("%.6lf\n", f[][][][][][][][][]);
} return ;
}

Uva 1637

题3:Uva 1639 Candy

题目大意:

两盒子糖,每盒中都有N个,在一个盒子中取的概率是p,另一个是1-p,求一个盒子没有糖之后另一个盒子剩的糖数的期望。

式子不难列,高中数学期望会考。但是主要是计算,组合数是极大数,概率又是极小数,计算机算的话要取对数,把大数化小,小数化大,乘法变加,

除法变减。 注意精度。不要为了简化代码新定义变量等于一长串代码中的一部分,会挂精度。

 #include <bits/stdc++.h>

 using namespace std;

 const int N =  + ;

 int n, cnt = ;
double p;
long double fac[N]; int main(){ fac[] = ;
for(int i = ; i <= ; ++ i)
fac[i] = fac[i - ] + log(i); while(~scanf("%d%lf", &n, &p)){
double ans = ; ++ cnt;
if(p == || p == ){
printf("Case %d: %.6lf\n", cnt, (double) n);
continue;
} int U = * n; for(int i = ; i <= n; ++ i){
ans += exp(fac[U - i] - fac[n] - fac[n - i] + log(p) * (n + ) + log( - p) * (n - i)) * i + exp(fac[U - i] - fac[n] - fac[n - i] + log(p) * (n - i) + log( - p) * (n + )) * i;
} printf("Case %d: %.6lf\n", cnt, ans);
} return ;
}

Uva 1639

数学期望和概率DP题目泛做(为了对应AD的课件)的更多相关文章

  1. 【整理】简单的数学期望和概率DP

    数学期望 P=Σ每一种状态*对应的概率. 因为不可能枚举完所有的状态,有时也不可能枚举完,比如抛硬币,有可能一直是正面,etc.在没有接触数学期望时看到数学期望的题可能会觉得很阔怕(因为我高中就是这么 ...

  2. 动态规划之经典数学期望和概率DP

    起因:在一场训练赛上.有这么一题没做出来. 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6829 题目大意:有三个人,他们分别有\(X,Y,Z\)块钱 ...

  3. POJ2096Collecting Bugs(数学期望,概率DP)

    问题: Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other material ...

  4. 插头DP题目泛做(为了对应WYD的课件)

    题目1:BZOJ 1814 URAL 1519 Formula 1 题目大意:给定一个N*M的棋盘,上面有障碍格子.求一个经过所有非障碍格子形成的回路的数量. 插头DP入门题.记录连通分量. #inc ...

  5. 期望与概率dp

    概率与期望dp 定义: 概率:事件A发生的可能性,计作P(A) 期望:事件A结果的平均大小,记住E(x) ​ E(x)=每种结果的大小与其概率的乘积的和 注意计算概率时需要考虑是否要用容斥原理 期望d ...

  6. 【长期计划】Atcoder题目泛做

    之前学长跟我说的是700-的应该都能自己做? 然后1000-的应该都能有一定的思路? 记不清了 但总之是要智力康复一下 又加上文化课比较紧 所以这个大概就会是长期计划了 ————————————分鸽线 ...

  7. bzoj 3566: [SHOI2014]概率充电器 数学期望+换根dp

    题意:给定一颗树,树上每个点通电概率为 $q[i]$%,每条边通电的概率为 $p[i]$%,求期望充入电的点的个数. 期望在任何时候都具有线性性,所以可以分别求每个点通电的概率(这种情况下期望=概率 ...

  8. 后缀自动机/回文自动机/AC自动机/序列自动机----各种自动机(自冻鸡) 题目泛做

    题目1 BZOJ 3676 APIO2014 回文串 算法讨论: cnt表示回文自动机上每个结点回文串出现的次数.这是回文自动机的定义考查题. #include <cstdlib> #in ...

  9. 基尔霍夫矩阵题目泛做(AD第二轮)

    题目1: SPOJ 2832 题目大意: 求一个矩阵行列式模一个数P后的值.p不一定是质数. 算法讨论: 因为有除法而且p不一定是质数,不一定有逆元,所以我们用辗转相除法. #include < ...

随机推荐

  1. JS控制文本框textarea输入字数限制的方法

    <html> <head runat="server"> <title></title> <script type=" ...

  2. css实现超连接按钮形式显示

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  3. jquery的uploadify上传jsp+servlet

    1.准备材料:下载jquery.uploadify上传js   注意:这个上传在firefox下会出现问题如果你在项目中加了拦截器,因为session会丢失,所以你可以传参的时候带上你所需要的条件,在 ...

  4. POJ1015 动态规划

    POJ1015 问题重述: 在n个候选者中选取m个人进入陪审团.每个候选者获得两项评分:D[j],P[j].求解最佳评审团,使得在每个成员的两项评分和之差 最小的情况下,使得两项评分和之和 最大. 分 ...

  5. [php] PHP创建指定目录和文件

    前几天看到有人问PHP环境下如何创建文件到指定目录下,正好自己最近在学习,经过一翻测试,终于出结果了,贴出来与大家分享. 目录结构: 代码所在的文件wwwroot/mydir/test/test.ph ...

  6. Windows 8.1 正式版 MSDN第二版 官方简体中文/英文版 (专业版/企业版)

    说明:文件名cn开头的是简中版文件名en开头的是英文版文件名含x64的为64位版本文件名含x86的为32位版本文件名含enterprise的为企业版文件名含pro_vl的为专业批量授权版文件名不含en ...

  7. Java内存回收(垃圾回收)机制总结

    一.背景: Java程序员编写程序时,对于新建的对象,当不再需要此对象时,不必去释放这个对象所占用的空间,这个工作是由Java虚拟机自己完成的 ,即内存回收或垃圾回收. 二.如何知道一个对象所占用的空 ...

  8. Linux Top 命令

    TOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况. TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止 ...

  9. 【转】手机web——自适应网页设计(html/css控制)

    手机web——自适应网页设计(html/css控制) 就目前形势来看,Web App 正是眼下的一个趋势和潮流,但是,对于Web App的设计可能大家有的不是很了解,下面就将整理好的网页设计的技巧奉献 ...

  10. poj 3685 Matrix(二分搜索之查找第k大的值)

    Description Given a N × N matrix A, whose element × i + j2 - × j + i × j, you are to find the M-th s ...