HDU 4873 ZCC Loves Intersection(JAVA、大数、推公式)
在一个D维空间,只有整点,点的每个维度的值是0~n-1 。现每秒生成D条线段,第i条线段与第i维度的轴平行。问D条线段的相交期望。
生成线段[a1,a2]的方法(假设该线段为第i条,即与第i维度的轴平行)为,i!=j时,a1[j]=a2[j],且随机取区间[0,n-1]内的整数。然后a1[i],a2[i]在保证a1[i]<a2[i]的前提下同样随机。
由于D条线段各自跟自己维度的轴平行,我们可以转换成只求第i个维度与第j个维度的相交期望,然后乘以C(2,n)就好了
显然线段[a1,a2]和线段[b1,b2]要有交点,则k!=i&&k!=j时(a1[k]==a2[k],b1[k]==b2[k]这2个是必然有的)必须要有,a1[k]==b1[k]. 这个的概率是1/n
所以k!=i&&k!=j时,概率期望是(1/n).pow(D-2)
下面看k==i的情况,k==j的情况是一样的。k==i的时候a1[k]<a2[k],b1[k]==b2[k].则我们求的是a1[k]<=b1[k]<=a2[k]&&a1[k]<a2[k]的概率。
即,3个随机数a,b,c. 求P(a<=b<=c && a<c).可用一个x轴画图示意。取任意一点b=i(0<=i<=n-1)。满足的有a<i&&c>i和a==i&&c>i和a<i&&c==i。
3种情况数分别是(i-0)*(n-1-i), n-1-i, i-0.
随机取b点位置的方案数是n,选取线段[a,c]的方案数是C(2,n),所以要将所有的相交次数除以这2个方案数,就是相交的期望
所以P(a<=b<=c && a<c) = ∑((1/n)*(1/C(2,n))*(i*(n-1-i)+n-1-i+i)) = 1/(n*C(2,n))*∑(-i*i+(n-1)*i+n-1), 其中0<=i<=n-1
这个化简得到P(a<=b<=c && a<c) = (n+4)/(3*n)
所以线段[a1,a2]和[b1,b2]的相交期望是 P = ( (1/n)^(d-2) ) * ( ( (n+4)/(3*n) )^2 ) = ( (n+4)^2 ) / ( 9*(n^d) )
java大数AC之?还差一步。。。刚刚那个是2个维度的。
所以最后答案应该是C(2,D)*P = ( D*(D-1)/2 * (N+4)^2 ) / ( 9*(N^D) )
第一次打这样的推公式=。=其实推公式主要是定下来动手慢慢耐心推。。。。
打得我都晕了,好多括号,不知道有没错。。。。
import java.math.BigInteger;
import java.util.Scanner; public class Main {
public static void main(String[] agrs){
Scanner scan = new Scanner(System.in);
int n,d;
while(scan.hasNext()){
n=scan.nextInt();
d=scan.nextInt();
if(d==1){
System.out.println("0");
continue;
}
BigInteger a = new BigInteger("0");
BigInteger b = new BigInteger("0");
a = BigInteger.valueOf(d*(d-1)/2).multiply(BigInteger.valueOf(n+4).pow(2));
b = BigInteger.valueOf(9).multiply(BigInteger.valueOf(n).pow(d));
if(a.equals(b)){
System.out.println("1");
continue;
}
BigInteger gg = a.gcd(b);
a = a.divide(gg);
b = b.divide(gg);
System.out.print(a);
System.out.print("/");
System.out.println(b);
}
scan.close();
}
}
HDU 4873 ZCC Loves Intersection(JAVA、大数、推公式)的更多相关文章
- hdu 4873 ZCC Loves Intersection(大数+概率)
pid=4873" target="_blank" style="">题目链接:hdu 4873 ZCC Loves Intersection ...
- HDU 4873 ZCC Loves Intersection(可能性)
HDU 4873 ZCC Loves Intersection pid=4873" target="_blank" style="">题目链接 ...
- HDU 4876 ZCC loves cards(暴力剪枝)
HDU 4876 ZCC loves cards 题目链接 题意:给定一些卡片,每一个卡片上有数字,如今选k个卡片,绕成一个环,每次能够再这个环上连续选1 - k张卡片,得到他们的异或和的数,给定一个 ...
- hdu 4876 ZCC loves cards(暴力)
题目链接:hdu 4876 ZCC loves cards 题目大意:给出n,k,l,表示有n张牌,每张牌有值.选取当中k张排列成圈,然后在该圈上进行游戏,每次选取m(1≤m≤k)张连续的牌,取牌上值 ...
- hdu 4882 ZCC Loves Codefires(数学题+贪心)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4882 ------------------------------------------------ ...
- HDU 4882 ZCC Loves Codefires(贪心)
ZCC Loves Codefires Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...
- hdu 5288 ZCC loves straight flush
传送门 ZCC loves straight flush Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K ...
- HDU 5228 ZCC loves straight flush( BestCoder Round #41)
题目链接:pid=5228">ZCC loves straight flush pid=5228">题面: pid=5228"> ZCC loves s ...
- HDU 4882 ZCC Loves Codefires (贪心)
ZCC Loves Codefires 题目链接: http://acm.hust.edu.cn/vjudge/contest/121349#problem/B Description Though ...
随机推荐
- unzip 命令使用
http://blog.sina.com.cn/s/blog_6c9d65a10100nzqf.html unzip命令:解压缩文件 他是解压zip压缩的文件,和zip互逆的一对工具. 命令: u ...
- 在c#中运行js脚本(将js文件生成为.dll文件)
原文链接:http://www.cnblogs.com/xhan/archive/2010/10/22/1857992.html 前言: 本来在搞一个Google翻译的接口--向Google翻译发送请 ...
- Jquery实现滚动显示欢迎字幕效果
Jquery控制滚动显示欢迎字幕: 参考代码: <!DOCTYPE html> <html> <head> <title>Colin Marquee W ...
- Linq查询操作语句学习
对于一个集合,我们通常会用foreach或者for循环来判断查找里面的元素. 但这种方法通常会看起来比较复杂,我们可以使用linq. Linq允许编写C#代码以查询数据库相同的方式操作内存数据(写法类 ...
- Ubuntu 14 安装 “宋体,微软雅黑,WPS Office的symbol、wingdings、wingdings 2、wingdings 3、webding字体,Consolas雅黑混合版编程字体” 等 Windows 7 下的字体
Windows平台下,“宋体”.“微软雅黑”.“Courier New(编程字体)”用的比较多,看的也习惯了.那如何在 Ubuntu下也安装这些字体呢? 操作步骤如下: 第一步:从 Windows 7 ...
- jQuery Colorbox插件
http://www.open-open.com/lib/view/open1338084606042.html jQuery Colorbox是一款非常好的内容播放插件.它集弹出层.幻灯片播放功能于 ...
- JAVA设计模式 之 观察者模式
简介: 观察者模式是JDK中最多的设计模式之一,非常有用,观察者模式介绍了一对多的依赖关系及松耦合,有了观察者,你将会消息灵通. 认识观察者模式,看一个报纸.杂志订阅是怎么回事: (1). 报社的业务 ...
- 迟来的Android的Camera开发总结
这是好久前写的项目,但一直没有去总结.刚好在准备找工作这段时间来总结自己做过的东西,学到的东西. 写Android的自定义的相机应用时,首先要知道一些Camera开发必须知道的尺寸,不然在调试的时候, ...
- iOS 不规则的ImageView
http://blog.csdn.net/kevinpake/article/details/41205715 我们在做iOS开发的时候,往往需要实现不规则形状的头像,如: 那如何去实现? 通常图片都 ...
- MRC
MRC 关于NSString,retainCount为-1 C方法中含有Copy的方法名, 都要释放 例如CFRealse(ref) 字符串常量,因为one为字符串常量,系统不会回收,也不会对其作引用 ...