UVa 11346 - Probability(几何概型)
链接:
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2321
题意:
在[-a,a]*[-b,b]区域内随机取一个点P,求以(0,0)和P为对角线的长方形面积大于S的概率(a,b>0,S≥0)。
例如a=10,b=5,S=20,答案为23.35%。
分析:
根据对称性,只需要考虑[0,a]*[0,b]区域取点即可。面积大于S,即xy>S。xy=S是一条双曲线,
所求概率就是[0,a]*[0,b]中处于双曲线上面的部分。
为了方便,还是求曲线下面的面积,然后用总面积来减,如图所示。

设双曲线和区域[0,a]*[0,b]左边的交点P是(S/b, b),因此积分就是:

查得1/S的原函数是ln(S),因此积分部分就是ln(a)-ln(S/b) = ln(ab/S)。
设面积为m,则答案为(m - s - s *ln(m/s)) / m。
注意这样做有个前提,就是双曲线和所求区域相交。如果s>ab,则概率应为0;
而如果s太接近0,概率应直接返回1,否则计算ln(m/s)时可能会出错。
代码:
import java.io.*;
import java.util.*;
import static java.lang.Math.*; public class Main {
Scanner cin = new Scanner(new BufferedInputStream(System.in)); void MAIN() {
int T = cin.nextInt();
while(T --> 0) {
double a = cin.nextDouble();
double b = cin.nextDouble();
double s = cin.nextDouble();
double ans, m = a * b;
if(s > m) ans = 0;
else if(s < 1e-6) ans = 1;
else ans = (m - s - s*log(m/s)) / m;
System.out.printf("%.6f%%\n", ans * 100);
}
} public static void main(String args[]) { new Main().MAIN(); }
}
UVa 11346 - Probability(几何概型)的更多相关文章
- UVA 11346 Probability (几何概型, 积分)
题目链接:option=com_onlinejudge&Itemid=8&page=show_problem&problem=2321">https://uva ...
- UVA 11722 几何概型
第六周A题 - 几何概型 Time Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Descriptio ...
- uva 11346 - Probability(概率)
option=com_onlinejudge&Itemid=8&page=show_problem&problem=2321">题目链接:uva 11346 - ...
- Codeforces - 77B - Falling Anvils - 几何概型
https://codeforc.es/contest/77/problem/B 用求根公式得到: \(p-4q\geq0\) 换成熟悉的元: \(y-4x\geq0\) 其中: \(x:[-b,b] ...
- uva 11346 - Probability(可能性)
题目链接:uva 11346 - Probability 题目大意:给定x,y的范围.以及s,问说在该范围内选取一点,和x,y轴形成图形的面积大于s的概率. 解题思路:首先达到方程xy ≥ s.即y ...
- UVa 11971 - Polygon(几何概型 + 问题转换)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- 集训第六周 数学概念与方法 UVA 11722 几何概型
---恢复内容开始--- http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=31471 题意,两辆火车,分别会在[t1,t2],[ ...
- 数学概念——A 几何概型
You are going from Dhaka to Chittagong by train and you came to know one of your old friends is goin ...
- UVA - 11346 Probability (概率)
Description Probability Time Limit: 1 sec Memory Limit: 16MB Consider rectangular coordinate system ...
随机推荐
- Java如何大批量从json数据源中按指定符号隔字符串,并修改、删除数据
原文出自:https://blog.csdn.net/seesun2012 package com.seesun2012.com; /** * Java大批量修改.删除数据,按指定标识符分隔字符串 * ...
- 使用PowerShell为SSAS Role添加Membership
PowerShell, SSAS, Role, Membership 上篇随笔使用PowerShell创建SSAS Role贴出了如何使用PowerShell批量创建Role,由于个人项目需求,创建R ...
- mysql:名次排名 (并列与不并列)
http://www.cnblogs.com/zengguowang/p/5541431.html sql语句查询排名 思路:有点类似循环里面的自增一样,设置一个变量并赋予初始值,循环一次自增加1,从 ...
- HDU 4747(AC不能)
http://acm.hdu.edu.cn/showproblem.php?pid=4747
- python 实现websocket
python中websocket需要我们自己实现握手代码,流程是这样:服务端启动websocket服务,并监听.当客户端连接过来时,(需要我们自己实现)服务端就接收客户端的请求数据,拿到请求头,根据请 ...
- 原生canvas写的飞机游戏
一个原生canvas写的飞机游戏,实用性不大,主要用于熟悉canvas的一些熟悉用法. 项目地址:https://github.com/BothEyes1993/canvas_game
- dsu on tree(CF600E Lomsat gelral)
题意 一棵树有n个结点,每个结点都是一种颜色,每个颜色有一个编号,求树中每个子树的最多的颜色编号的和. dsu on tree 用来解决子树问题 好像不能带修改?? 暴力做这个题,就是每次扫一遍子树统 ...
- python模拟登陆豆瓣——简单方法
学爬虫有一段时间了,前面没有总结又重装了系统,导致之前的代码和思考都没了..所以还是要及时整理总结备份.下面记录我模拟登陆豆瓣的方法,方法一登上了豆瓣,方法二重定向到了豆瓣中“我的喜欢”列表,获取了第 ...
- Android GridView显示SD卡的图片
GridView的XML布局: main.xml: <GridViewxmlns:android="http://schemas.android.com/apk/res/android ...
- Reverse Integer 旋转数字
Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 本地注意正负号判断 ...