题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. angularjs字符串插值($interpolate)

    <!DOCTYPE html> <html lang="zh-CN" ng-app="app"> <head> <me ...

  2. String类的使用说明

    (1)Length()取一个字符串的长度:public int length(); public calss StringLength1{ public static void main(String ...

  3. hdu 素数环

    算法:搜索 题意:相邻的两个数之和是素数,别忘了最后一个,和第一个 Problem Description A ring is compose of n circles as shown in dia ...

  4. Gora官方文档之二:Gora对Map-Reduce的支持

    参考官方文档:http://gora.apache.org/current/tutorial.html 项目代码见:https://code.csdn.net/jediael_lu/mygoradem ...

  5. 滚动到指定元素的id处+当元素出现在浏览器显示区域就会自动加载

    //滚动到指定元素的id处 如:$("#Exam82") function Jump() { var scroll_offset = $("#Exam82"). ...

  6. Constructing Roads In JGShining's Kingdom(HDU 1025 LIS nlogn方法)

    Constructing Roads In JGShining's Kingdom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65 ...

  7. iOS开发笔记--什么时候调用layoutSubviews

    iOS开发笔记--什么时候调用layoutSubviews 分类: iOS2014-04-22 16:15 610人阅读 评论(0) 收藏 举报 今天在写程序时候遇见layoutSubviews触发时 ...

  8. VirtualBox虚拟机无法选择桥接方式

    VirtualBox 装好之后默认的网络是NAT模式,但这种模式中虚拟机配置的IP和主机的不再同一网段内,无法获得和主机一样的局域网地位,更不可能从主机用远程桌面携带硬盘的方式远程控制.而最简便的方法 ...

  9. ACM1174_爆头解题思路_空间三维坐标求点到直线的距离

    /* 爆头 Description gameboy是一个CS高手,他最喜欢的就是扮演警察, 手持M4爆土匪的头.也许这里有人没玩过CS,有必 要介绍一下“爆头”这个术语:所谓爆头,就是子 弹直接命中对 ...

  10. Smallest Rectangle Enclosing Black Pixels 解答

    Question An image is represented by a binary matrix with 0 as a white pixel and 1 as a black pixel. ...