题目链接:点击我打开题目链接

题目大意:

给你一只蚂蚁,它在一个 边长为 \(30-40-50\) 的直角三角形\((x,y)\)上,并且它在直角三角形中选择的位置和移动方向的概率都是相等的。问你这只蚂蚁在最长的边上走出去的概率是多少?

注意:以下是题目的解析。

如果你想要享受做数学题的乐趣就不要看下面了啦。(╯ ̄Д ̄)╯╘═╛ (其实看了也无所谓...)

简要题解:

我们假设蚂蚁在 $ A(x,y) $ 点。

枚举一下题意,画一下图...( 随手画的...丑了点...)

我们可以得到:

\(\alpha=\arctan(\frac{x}{40-y})\)

\(\alpha+\beta=\arctan(\frac{30-x}{y})\)

\(\beta=\arctan(\frac{30-x}{y})-\arctan(\frac{x}{40-y})\)

\(\theta=\pi-\left(\arctan(\frac{30-x}{y})-\arctan(\frac{x}{40-y})\right)\)

\(f(x,y)=\frac{\theta}{2\pi}=\frac{1}{2}-\frac{1}{2\pi}*\left(\arctan(\frac{30-x}{y})-\arctan(\frac{x}{40-y})\right)\)

最后积分一下,所以概率就为:

\(ans = \frac{1}{600}*\int_0^{30}\int_0^{40-\frac{40x}{30}}\left[\frac{1}{2}-\frac{1}{2\pi}*\left(\arctan(\frac{30-x}{y})-\arctan(\frac{x}{40-y})\right)\right]\,\mathrm{d}x\mathrm{d}y\)

直接用 \(mma\) ,就很愉快地拿到了\(rank\) \(7\)th啦。

Project Euler 613 Pythagorean Ant(概率+积分)的更多相关文章

  1. Project Euler 389 Platonic Dice (概率)

    题目链接: https://projecteuler.net/problem=389 题意: 掷一个正四面体骰子,记点数为\(T\). 掷\(T\)个正六面体骰子,记点数和为\(C\). 掷\(C\) ...

  2. Python练习题 037:Project Euler 009:毕达哥拉斯三元组之乘积

    本题来自 Project Euler 第9题:https://projecteuler.net/problem=9 # Project Euler: Problem 9: Special Pythag ...

  3. [project euler] program 4

    上一次接触 project euler 还是2011年的事情,做了前三道题,后来被第四题卡住了,前面几题的代码也没有保留下来. 今天试着暴力破解了一下,代码如下: (我大概是第 172,719 个解出 ...

  4. Python练习题 029:Project Euler 001:3和5的倍数

    开始做 Project Euler 的练习题.网站上总共有565题,真是个大题库啊! # Project Euler, Problem 1: Multiples of 3 and 5 # If we ...

  5. Project Euler 9

    题意:三个正整数a + b + c = 1000,a*a + b*b = c*c.求a*b*c. 解法:可以暴力枚举,但是也有数学方法. 首先,a,b,c中肯定有至少一个为偶数,否则和不可能为以上两个 ...

  6. Project Euler 44: Find the smallest pair of pentagonal numbers whose sum and difference is pentagonal.

    In Problem 42 we dealt with triangular problems, in Problem 44 of Project Euler we deal with pentago ...

  7. project euler 169

    project euler 169 题目链接:https://projecteuler.net/problem=169 参考题解:http://tieba.baidu.com/p/2738022069 ...

  8. 【Project Euler 8】Largest product in a series

    题目要求是: The four adjacent digits in the 1000-digit number that have the greatest product are 9 × 9 × ...

  9. Project Euler 第一题效率分析

    Project Euler: 欧拉计划是一系列挑战数学或者计算机编程问题,解决这些问题需要的不仅仅是数学功底. 启动这一项目的目的在于,为乐于探索的人提供一个钻研其他领域并且学习新知识的平台,将这一平 ...

随机推荐

  1. jquery表单动态添加元素及PHP处理

    tijiao.php页面代码: if(isset($_POST['cp1'])){    echo '<pre>';    print_r($_POST); $num=((count($_ ...

  2. 处理SpringMVC的时间错误:Field error in object 'sysDatumedetai' on field 'storagetime': rejected value [2017-11-27];

    错误: 十一月 27, 2017 8:26:11 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service ...

  3. qt qlineedit只输入数字

    lineEdit->setValidator(new QRegExpValidator(QRegExp("[0-9]+$")));

  4. kettle(一)概述

    近期两个月一直和kettle打交道,从開始的没听说过,到如今能够熟练运用,不得不说项目驱动下,学习东西是最快的.好了,尽管使用kettle应付项目的任务绰绰有余.可是还是想系统的学习一下,总结一下.比 ...

  5. 矩阵乘法2(codevs3147)

    题目描写叙述 Description 给出两个n*n的矩阵.m次询问它们的积中给定子矩阵的数值和. 输入描写叙述 Input Description 第一行两个正整数n,m. 接下来n行,每行n个非负 ...

  6. 机器学习Python实现AdaBoost

    adaboost是boosting方法多个版本号中最流行的一个版本号,它是通过构建多个弱分类器.通过各个分类器的结果加权之后得到分类结果的.这里构建多个分类器的过程也是有讲究的,通过关注之前构建的分类 ...

  7. js---18miniJquery

    <html> <head> <title>jQuery test</title> </head> <body> <div ...

  8. selection-内容选中跟光标移动

    如果我们希望手动的改变edittext的光标,我们可以使用 setSelection(int start, int end); setSelection(int index); 这个方法,如果我们选择 ...

  9. DbSet<>.Find()

    第一篇为大家带来新的API,DbSet<>.Find(). 过去我们常常用Where或First(FirstOrDefault)方法来查找对应的实体,比如: var people = fr ...

  10. BZOJ1835: [ZJOI2010]base 基站选址(线段树优化Dp)

    Description 有N个村庄坐落在一条直线上,第i(i>1)个村庄距离第1个村庄的距离为Di.需要在这些村庄中建立不超过K个通讯基站,在第i个村庄建立基站的费用为Ci.如果在距离第i个村庄 ...