【HDU 5810多校】Balls and Boxes(打表/数学)
1.打表找规律,下面是打表程序:
#include <iostream>
#include <cstdio>
#define ll long long
#define N 100005
using namespace std;
ll n,m,b[N],ans,num;
ll sqr(ll x)
{
return x*x;
}
void dfs(ll r){
if(r==){
num++;
for(int i=;i<=m;i++)
ans+=sqr(b[i]);
return;
}
for(int i=;i<=m;i++)
{
b[i]++;
dfs(r-);
b[i]--;
}
}
int main() {
while(~scanf("%lld%lld",&n,&m)){
for(ll r=;r<=n;r++){
ans=num=;
dfs(r);
ans=m*ans-r*r*num;
num=m*m*num;
ll g=__gcd(ans,num);
printf("r=%lld: %lld/%lld\n",r,ans/g,num/g);
}
}
}
2.数学
V其实就是二项式分布的方差,可以这么理解:
样本是第i个盒子:每次把1个球扔进第i个盒子的概率都是1/m,扔不进就是1-1/m,扔了n个球,于是Xi服从二项式分布。
那么就可以直接用二项式的方差公式$D(X)=n\cdot p\cdot (1-p)$ 这里的p就是1/m。下面是AC程序:
#include <algorithm>
#include <cstdio>
#define ll long long
using namespace std;
ll n,m;
int main() {
while(scanf("%lld%lld",&n,&m),n){
ll a=n*(m-),b=m*m;
ll g=__gcd(a,b);
printf("%lld/%lld\n",a/g,b/g);
}
}
【HDU 5810多校】Balls and Boxes(打表/数学)的更多相关文章
- HDU 5810 Balls and Boxes(盒子与球)
Balls and Boxes(盒子与球) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/O ...
- HDU 5810 Balls and Boxes (找规律)
Balls and Boxes 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5810 Description Mr. Chopsticks is i ...
- HDU 5810 Balls and Boxes 数学
Balls and Boxes 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5810 Description Mr. Chopsticks is i ...
- hdu 5810 Balls and Boxes 二项分布
Balls and Boxes Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- Codeforces Round #158 (Div. 2) C. Balls and Boxes 模拟
C. Balls and Boxes time limit per test 1 second memory limit per test 256 megabytes input standard i ...
- HDU5810 Balls and Boxes
Balls and Boxes Time Limi ...
- Codeforces 260C - Balls and Boxes
260C - Balls and Boxes 思路:模拟.在x前面找到最小值,如果没有,从0跳到n,继续找到最小值,边找最小值路过的点边减1.然后所有值都减去最小值,最小值那个点加上减去的值. 找到x ...
- hdu-5810 Balls and Boxes(概率期望)
题目链接: Balls and Boxes Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/O ...
- HDU 5810 Balls and Boxes
n*(m-1)/(m*m) #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio&g ...
随机推荐
- 南邮CTF隐写之丘比龙的女神
刚开始下载下图片来 习惯性的binwalk一下 没发现东西 formost一下也没分离出来 扔进c32asm中发现有nvshen.jpg 于是改后缀名字为.zip 解压nvshen.jpg发现无法解压 ...
- AndroidStudio 混淆打包
AndroidStudio中的项目可以用compile的形式引入github上的开 源项目,可以引用module,而不一定都要用libs文件夹中添加jar包的形式.在最终realease打包时,混淆的 ...
- fiddler和xampp安装成功后,网站打不开的原因
fiddler和xampp安装成功后,网站打不开,出现403的错误 解决办法 编辑httpd.conf文件注释掉以下代码 #AllowOverride none # Require all denie ...
- ubuntu12.04禁止单用户本地无密码root登录
1)grub-mkpasswd-pbkdf2 拿到类似grub.pbkdf2.sha512.10000.C093FE6825CDCC2F84934ABC406445E92EE098733C60E6D1 ...
- Log4net在类库中的用法
app.config应当放置在解决方案的根目录下.具体流程如下: 第一步:应该下载log4net.dll并引入到你的项目中,下载见附件 第二步:需要配置相关的配置文件App.config或Web.co ...
- Stream 和 byte[]
C# Stream 和 byte[] 之间的转换 一. 二进制转换成图片MemoryStream ms = new MemoryStream(bytes);ms.Position = 0;Imag ...
- 实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...
- Datatable删除行的Delete和Remove方法
在C#中,如果要删除DataTable中的某一行,大约有以下几种办法: 1,使用DataTable.Rows.Remove(DataRow),或者DataTable.Rows.RemoveAt(ind ...
- docker 镜像导入导出
导出(Export) Export命令用于持久化容器(不是镜像).所以,我们就需要通过以下方法得到容器ID: sudo docker ps -a 接着执行导出: sudo docker export ...
- Apache POI 实现对 Excel 文件读写
1. Apache POI 简介 Apache POI是Apache软件基金会的开放源码函式库. 提供API给Java应用程序对Microsoft Office格式档案读和写的功能. 老外起名字总是很 ...