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」地精部落---------------------------------------------------------------------------- ...
随机推荐
- NIO【同步非阻塞io模型】关于 文件io 的总结
1.前言 这一篇随笔是写 NIO 关于文件输入输出的总结 /* 总结: 1.io操作包括 socket io ,file io ; 2.在nio模型,file io使用fileChannel 管道 , ...
- springBoot--01--快速入门
笔记源码:https://gitee.com/ytfsL/springboot 1.1 原有Spring优缺点分析 1.1.1 Spring的优点分析 Spring是Java企业版(Java Ente ...
- 一文看懂B端产品和C端产品
大纲 什么是B端产品 什么是C端产品 为什么会产生B端产品和C端产品 怎么判断一个产品是B端还是C端 B端产品和C端产品存在哪些差异 C端产品经理如何向B端产品经理转型 写在最后 什么是B, Bu ...
- 带你读AI论文丨RAID2020 Cyber Threat Intelligence Modeling GCN
摘要:本文提出了基于异构信息网络(HIN, Heterogeneous Information Network)的网络威胁情报框架--HINTI,旨在建模异构IOCs之间的相互依赖关系,以量化其相关性 ...
- 【刷题-LeetCode】190 Reverse Bits
Reverse Bits Reverse bits of a given 32 bits unsigned integer. Example 1: Input: 0000001010010100000 ...
- 集合框架-工具类-Collections-折半最值
1 package cn.itcast.p2.toolclass.collections.demo; 2 3 import java.util.ArrayList; 4 import java.uti ...
- ping: Network is unreachable
问题 [root@web-1 yum.repos.d]# ping baidu.com ping: unknown host baidu.com [root@web-1 yum.repos.d]# p ...
- 字的研究(2)Fonttools-字体文件的解析
前言 本文主要介绍如果使用Python第三方库fontTools对TrueType字体文件(指使用TrueType描述轮廓的OpenType字体文件)的解析.修改和创建等操作. fontTools简介 ...
- linux中wc命令
目录 一:linux中wc命令 1.wc命令介绍 2.wc命令作用 3.wc命令格式 4.参数 5.解析案例 一:linux中wc命令 1.wc命令介绍 Linux wc命令用于计算字数. 利用wc指 ...
- a-b转换A-B