hdu 4043 概率
比赛的时候愣是把规律给猜出来了,半写半猜吧。
不知道为什么,这种简单题一放在ACM上我就傻了,如果在试卷上我肯定一下子就做出来。
还是心理因素吧。当吴磊说人家16分钟就过了的时候,我就想这么简单啊。结果一两分钟就猜出了规律。而之前是没有一点头绪,心就焦急着,肿么也想不出来。
其实仔细想很简单,就是后一个状态和前一个状态的关系很大,这也是ACM当中一个很常见的思想。
看人家规律写的挺好,我就直接粘了。
当n=1时,p1 = 1/2
当n=2时,第一个技能伤害如果是2,只要第一个打出的技能打向A,则B必胜,这个事件发生的概率为1/2 * 1/2;第一个如果是1,那么只有两技能都打向A,B才能胜,事件发生 的概率为1/2 * 1/2 * 1/2;.则p2 =1/4 + 1/8 = 3/8
当n=3时,伤害为4的技能如果为第一个技能,只要打向A,则B必胜,发生的概率为1/3 * 1/2;如果为第二个技能,则前一个技能和这个技能必须都打向A,B才能胜,概率为1/3 * 1/2 * 1/2;如果为第三个技能,则前两可如当n=2时的概率且第三个技能必须打向A,B才能,概率为1/3 * 3/8 *1/2.则
p3=1/3 * (1 + p1 + p2) * 1/2.
同理,p4 = 1/4 * (1 + p1 + p2 + p3) * 1/2
则 pn = 1/(2 * n) * (1 + p1 + p2 + … + p(n - 1)).
由上式可推得 pn = p(n-1) * (2 * n - 1)/(2 * n)(以下代码即用此式解答),
如果继续推,可推得pn = A(2n , n)/( 2^(2n) * n! )(其中,A(2n , n)为排列式)。
推出这样的式子应该想到数不够存的,应该用高精度!
总结:
what you have to defeat is yourself.
import java.util.*;
import java.math.*;public class Main{//这个是类public static void main(String args[]){//这个是主函数Scanner cin = new Scanner(System.in);BigInteger[] ans1 = new BigInteger[505];BigInteger[] ans2 = new BigInteger[505];BigInteger tmp;ans1[1] = BigInteger.ONE;ans2[1] = BigInteger.valueOf(2);for(int i = 2; i <= 500; i ++){ans1[i] = ans1[i - 1].multiply(BigInteger.valueOf(2 * i - 1));ans2[i] = ans2[i - 1].multiply(BigInteger.valueOf(2 * i));tmp = ans1[i].gcd(ans2[i]);ans1[i] = ans1[i].divide(tmp);ans2[i] = ans2[i].divide(tmp);}int t,n;t = cin.nextInt();for(int i = 0; i < t; i ++){n = cin.nextInt();System.out.print(ans1[n]);System.out.print('/');System.out.println(ans2[n]);}}
}
hdu 4043 概率相关推荐
- hdu 4043 FXTZ II [ 概率 + Java大数]
传送门 FXTZ II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- 概率,递推,找规律,高精度(FXTZ II,hdu 4043)
总结一下吧.. 像这种题,输入很简单,就几个数,然而正常算运算量很大,或时间复杂度很高,或分类讨论很麻烦的题,就试试找规律吧.只能说很可能是找规律,但也有例外吧. 这题的话,手算或计算机算多几个小数据 ...
- HDU 5001 概率DP || 记忆化搜索
2014 ACM/ICPC Asia Regional Anshan Online 给N个点,M条边组成的图,每一步能够从一个点走到相邻任一点,概率同样,问D步后没走到过每一个点的概率 概率DP 測 ...
- hdu 4305 概率dp
1 /* 2 题目大意:有n个房间由n-1个隧道连接起来,从1号房间开始, 3 每个节点i都有三种可能: 4 1.被杀死,回到节点1,概率为ki; 5 2.找到出口,离开迷宫,概率ei; 6 3.与它 ...
- HDU - 6558/概率dp(从后往前推导)
VJ地址 中文题意: 有一个苦逼程序员小A,他有一个女朋友B,最近看上了一个游戏,他想买这个游戏,可是小A是一个怕老婆的人,每个 月的工资都需要上交,小A找他女朋友商量了好久,最后B同意他用每个月的工 ...
- HDU 4043 FXTZ II
排列组合求概率.大概是说:有n个小球,第i个(从0开始)小球权值为2^i,AB两人等概率取球,也就是说轮到谁不一定,但概率为50%.要保证A得到的球的总权值比B的小.输入n时,输出概率.用分子分母形式 ...
- HDU 4405 概率期望DP
有 0到 n 个格子.掷骰子走路,求出到终点的数学期望,有飞行的路线. dp[i] 存储在i位置走到终点的期望. 转移方程dp[i]=(dp[i+1] ----> dp[i+6])/6+1; 有 ...
- HDU 4336 概率DP 状压
用d(S)表示所收集到卡片种类状态为S时还需买多少包小浣熊(这是我YY的)的期望. 则有方程d(S) = 1 + (P(空) + P(有)) * d(S) + P(无) * d(T) 其中P(空)表示 ...
- 【原创】概率DP总结 by kuangbin
概率DP主要用于求解期望.概率等题目. 转移方程有时候比较灵活. 一般求概率是正推,求期望是逆推.通过题目可以体会到这点. 首先先推荐几篇参考的论文: <信息学竞赛中概率问题求解初探> & ...
最新文章
- 核心路由器聚焦三大关键点
- jpa单向一对多关联映射
- utxo模型_什么是UTXO?简析账户/余额模型和UTXO模型
- 北京第一个公共云计算平台即将诞生
- poi设置列宽自适应_Sentinel 系统自适应限流原理剖析与实战指导
- 【测试工具】禅道项目管理工具设置触发邮箱
- 13 CO配置-控制-内部订单-定义定单类型
- vue密码强度提示条
- ios sandbox
- QNAP 提醒客户注意 eCh0raix 勒索攻击和 Room Server 0day
- 一个创业公司CEO的85条感悟
- OpenCV-图像处理(10、膨胀与腐蚀)
- 2023年西北工业大学材料科学与工程考研考情与难度、参考书及上岸前辈初复试备考经验指导
- 电信光猫 PT924 获取超级密码
- python计算sin程序_Python sin() 函数
- Windows 10出现0xc0000225错误代码如何解决?
- 三星苹果还能笑多久?联想挑战智能手机全球霸主
- 安居客 楼盘信息 项目代码-
- linux查找以c开头的的文件夹,【Linux】 find指令(文件查找)
- Tauri 项目更换默认图标(自定义应用桌面图标)