找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 499|回复: 0
收起左侧

[讨论] Calculate Probability

[复制链接]

19

主题

2

精华

83

积分

资深会员

Rank: 2

积分
83
发表于 10-2-2015 11:30 PM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
由于x和y均匀分布,且相互独立,所以xy的联合pdf是个均匀的矩形,从而问题转化为求在矩形{x=0~a,y=0~b}在直线x+y=c下方的面积
  1. class Solution {
  2.     int gcd(int a, int b){
  3.         while(a){
  4.             int c = b % a;
  5.             b = a;
  6.             a = c;
  7.         }
  8.         return b;
  9.     }
  10. public:
  11.     vector<int> calculate(int a,int b,int c) {
  12.         if(c >= a + b) return vector<int>({1, 1});
  13.         
  14.         if(a < b) swap(a, b);
  15.         int n, d = 2*a*b;
  16.         if(c >= a){
  17.             n = d - (a+b-c)*(a+b-c);
  18.         }
  19.         else if(c > b){
  20.             n = (c-b+c)*b;
  21.         }
  22.         else{
  23.             n = c*c;
  24.         }
  25.         int g = gcd(n, d);
  26.         return vector<int>({n/g, d/g});
  27.     }
  28. };
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表