Solution -「ACM-ICPC BJ 2002」「POJ 1322」Chocolate
\(\mathcal{Description}\)
Link.
\(c\) 种口味的的巧克力,每种个数无限。每次取出一个,取 \(n\) 次,求恰有 \(m\) 个口味出现奇数次的概率。
\(\mathcal{Solution}\)
由于比较板(且要补的题太多),所以会简略一点。
首先,\(n,m\) 不同奇偶;\(m\) 大于 \(c\) 或 \(n\) 无解,特判掉。考虑到“取出”有序,引入 \(\text{EGF}\)。显然题目要求:
\]
记后面这个式子为 \(G(x)\),推导:
\]
代入 \(k=n\),\(\mathcal O(n^2)\) 求解,注意精度。
\(\mathcal{Code}\)
#include <cstdio>
const int MAXC = 100;
int c, n, m;
double comb[MAXC + 5][MAXC + 5];
inline void init () {
comb[0][0] = 1;
for ( int i = 1; i <= MAXC; ++ i ) {
comb[i][0] = 1;
for ( int j = 1; j <= i; ++ j ) {
comb[i][j] = comb[i - 1][j - 1] + comb[i - 1][j];
}
}
}
inline double qkpow ( double a, int b ) {
double ret = 1;
for ( ; b; a *= a, b >>= 1 ) ret *= b & 1 ? a : 1.0;
return ret;
}
int main () {
init ();
while ( ~ scanf ( "%d", &c ) && c ) {
scanf ( "%d %d", &n, &m );
if ( ( n & 1 ) ^ ( m & 1 ) || m > c || m > n ) { puts ( "0.000" ); continue; }
double ans = 0;
for ( int i = 0; i <= c - m; ++ i ) {
for ( int j = 0; j <= m; ++ j ) {
ans += ( j & 1 ? -1 : 1 ) * comb[c - m][i]
* comb[m][j] * qkpow ( ( c - 2.0 * i - 2.0 * j ) / c, n );
}
}
ans = ans * comb[c][m] / qkpow ( 2, c );
printf ( "%.3f\n", ans );
}
return 0;
}
Solution -「ACM-ICPC BJ 2002」「POJ 1322」Chocolate的更多相关文章
- ACM/ICPC 之 平面几何-两直线关系(POJ 1269)
题意:给定四点的坐标(x,y),分别确定两直线,求出其交点,若重合or平行则输出相应信息 用四个点的坐标算出直线通式(ax+by+c=0)中的a,b,c,然后利用a,b,c计算出交点坐标(其他公式不够 ...
- LOJ 6060「2017 山东一轮集训 Day1 / SDWC2018 Day1」Set(线性基,贪心)
LOJ 6060「2017 山东一轮集训 Day1 / SDWC2018 Day1」Set $ solution: $ 这一题的重点在于优先级问题,我们应该先保证总和最大,然后再保证某一个最小.于是我 ...
- 「题解」「美团 CodeM 资格赛」跳格子
目录 「题解」「美团 CodeM 资格赛」跳格子 题目描述 考场思路 思路分析及正解代码 「题解」「美团 CodeM 资格赛」跳格子 今天真的考自闭了... \(T1\) 花了 \(2h\) 都没有搞 ...
- FileUpload控件「批次上传 / 多档案同时上传」的范例--以「流水号」产生「变量名称」
原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/08/19/multiple_fileupload_asp_net_20130819. ...
- 「Windows MFC 」「Edit Control」 控件
「Windows MFC 」「Edit Control」 控件
- SQL Server 2016 的「動態資料遮罩 (Dynamic Data Masking)」
一些特別注重資訊安全.個人資料的公司或產業 (如: 金融.保險業),通常「測試用資料庫」的資料,會加上「遮蔽:去識別化」的功能,避免個資外洩.以往必須自己撰寫 SQL 語句或 Stored Proce ...
- 「ZJOI2019」&「十二省联考 2019」题解索引
「ZJOI2019」&「十二省联考 2019」题解索引 「ZJOI2019」 「ZJOI2019」线段树 「ZJOI2019」Minimax 搜索 「十二省联考 2019」 「十二省联考 20 ...
- 「bzoj1003」「ZJOI2006」物流运输 最短路+区间dp
「bzoj1003」「ZJOI2006」物流运输---------------------------------------------------------------------------- ...
- 「bzoj1925」「Sdoi2010」地精部落 (计数型dp)
「bzoj1925」「Sdoi2010」地精部落---------------------------------------------------------------------------- ...
随机推荐
- Java读写XML代码示例
采用技术:dom4j 需要jar包:dom4j-1.6.1.jar 主类如下---- public class dom4jTestXML { /** * * 方法描述:读取XML文件示例 备 注 ...
- web自动化-selenium 入门篇
selenium安装介绍 selenium是web浏览器的自动化工具 官网:https://www.selenium.dev 构成: WebDriver: 浏览器提供的浏览器api来控制浏览器(模拟用 ...
- 宣布与Epic Games合作,为虚幻引擎创造Cesium
Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 没有什么能比支持史诗游戏和史诗巨无霸计划(Epic MegaGr ...
- Java on Visual Studio Code的更新 – 2022年1月
大家好,欢迎来到 Visual Studio Code Java 更新 1 月版!这是我们新年的第一篇博客,我们将回顾 2021 年的亮点,并分享我们 2022 年的产品路线图!除此之外我们还有一些令 ...
- Tomcat-如何在IDEA启动部署web模板
IDEA部署工程到Tomcat上运行 1,建议修改web工程对应的Tomcat运行实例名称 2,将需要部署的web工程添加到Tomcat运行实例中,添加或删除 Application context: ...
- hostnamectl主机名
hostnamectl 可用于查询与修改系统主机名以及其他相关设置. 所谓"主机名",其实有三种不同的含义: "pretty"主机名,仅供人类阅读,可以包含各种 ...
- 配置Nginx使用Active Directory 做认证
配置Nginx使用AD做认证 nginx.conf 配置 http { ldap_server ldap { url ldap://xxx:389/DC=test,DC=com?sAMAccountN ...
- SAP下载报表速度慢?为啥你不试试python多线程
由于SAP系统自身原因,或者公司内部ABAP代码的算法效率不高,我们经常遇到,手工执行某个事务代码下载某个报表会非常耗时,小爬曾见过公司某个自开发的报表,单家公司的数据下载超过半小时.如果我们刚好接到 ...
- Protobuf 动态加载 .pb 文件并操作 Message
之前写了<Protobuf 动态加载 .proto 文件并操作 Message>.除了直接读取 .proto 文件之外,还有一种类似的方法.先把 .proto 文件编译成 .pb 文件,再 ...
- 基础学习:关于this在派生类构造函数中的理解
https://www.cnblogs.com/Bear-Study-Hard/archive/2006/01/09/313551.html 看了上面这篇文章有感,特做了个小样板,以加深对于this在 ...