1. 程式人生 > >poj 1322 Chocolate (生成函式||概率DP)

poj 1322 Chocolate (生成函式||概率DP)

題目描述

傳送門

題目大意:一個口袋中裝有巧克力,巧克力的顏色有c種。現從口袋中取出一個巧克力,若取出的
巧克力與桌上已有巧克力顏色相同,則將兩個巧克力都取走,否則將取出的巧克力放在桌上。
設從口袋中取出每種顏色的巧克力的概率均等。求取出 n 個巧克力後桌面上剩餘 m 個巧克
力的概率。

題解

首先m的個數一定小於等於c,因為如果某種顏色的巧克力數量是大於等於2,那麼一定會兩個一對被取走,也就是最後剩下的每種巧克力要麼只有一個要麼沒有。如果(n-m)%2!=0,或者m>n,m>n,那麼概率一定為0.
那麼這個問題其實就可以用概率與期望DP來解決。
f[i,j]表示取出i塊巧克力,恰好剩j塊的概率。
f

[i,j]=f[i1][j1]c(j1)c+f[i1][j+1]j+1c
但是這樣做的時間複雜度太高了,那麼有沒有更高效的方法呢?其實是有的,那就是生成函式。
鑑於這是第一道生成函式的題,所以接下來先說明一些生成函式的預備知識。
指數型生成函式一般用來解決排列問題.定義一個序列{ai}的生成函式為

a0+a11!x+a22!x2+a33!x3+.......
指數型生成函式的常見形式
(1)序列<1,1,1,….,1> G(x)=1+x1!+x22!+x33!+..... 的指數型生成函式閉形式為ex
(2)序列<1,-1,1,-1,….> 的指數型生成函式閉形式為e
x

(3)序列<1,0,1,0,1,….> 的指數型生成函式閉形式為ex+ex2
(4)序列<0,1,0,1,0….> 的指數型生成函式閉形式為exex2
(5)設序列{an}{bn}的指數生成函式是A(x),B(x) ,則C(x)=A(x)B(x)=n=0cnxnn!,其中cn=k=0akbnkC(n,k)
(6)g(x)=C0m+C1mx+C2mx2+.....=(1+x)m

然後回到這道題的題目。這道題時間上就是讓m種顏色取奇數個,c-m種顏色取偶數個,求排列的個數。
根據上面的預備知識我們知道,奇數項指數生成函式為exex2,偶數項生成函式為e

x+ex2,因此選m個奇數,c-m個偶數的指數生成函式為(exex)m(ex+ex)cm2c,由於哪m種顏色取奇數個是不確定的,所以方案數還要乘上Cmc,然後再除以總方案數cn就是概率。
本題的答案就是多項式(exex

相關推薦

poj 1322 Chocolate 生成函式||概率DP

題目描述 傳送門 題目大意:一個口袋中裝有巧克力,巧克力的顏色有c種。現從口袋中取出一個巧克力,若取出的 巧克力與桌上已有巧克力顏色相同,則將兩個巧克力都取走,否則將取出的巧克力放在桌上。 設從口袋中取出每種顏色的巧克力的概率均等。求取出 n 個巧克力後

POJ-1322 Chocolate生成函式

跳轉到題目 Chocolate Time Limit: 2000MS Memory Limit: 65536K         Special Judge Description In 2100, ACM chocolate will be one

2019.01.02 poj1322 Chocolate生成函式+二項式定理

傳送門 生成函式好題。 題意簡述:一個袋子裡有 c c c種不同顏色的球,現要操作

POJ 3744 Scout YYF I 矩陣相乘+概率DP

題面: Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7254 Accepted: 2118 Description YYF is a couragous scout. Now he i

bzoj1444 有趣的遊戲AC自動機+概率dp

大寫字母 叠代 字符串 字符 時間復雜度 單詞 分析 出現 ron 題意: 給定n個長度為l的模式串,現在要用前m個大寫字母生成一個隨機串,每個字符有自己的出現幾率,第一次出現的字符串獲勝,求最終每個字符串的獲勝幾率。 分析: 容易想到先把所有的字符串建成一個AC自動

11468 Substring AC自動機 + 概率dp

#include <cstdio> #include <cstring> #include <algorithm> #include <string> #include <iostream> #include <vector> #incl

hdu 4035 Maze 樹上的概率dp

When wake up, lxhgww find himself in a huge maze. The maze consisted by N rooms and tunnels connecting these rooms. Each pair of rooms is connected by one

SCU 4519 來個簽到吧 exgcd推廣+概率dp

題目傳送門:http://acm.scu.edu.cn/soj/problem.action?id=4519 這題開頭給你一些球,然後把任意球的編號之差|x−y|的求加入進去,然後加滿球之後,問你把所有球都取出來過一遍的期望是多少 前面加球,任意兩個球x,y

HDU 1028 函式或者dp

“The second problem is, given an positive integer N, we define an equation like this: N=a[1]+a[2]+a[3]+…+a[m]; a[i]>0,1<

POJ - 2096 Collecting Bugs概率dp

軟件 tar 可以轉化 答案 一個bug 精度 ron 現在 pan https://vjudge.net/problem/POJ-2096 題意 一個軟件有s個子系統,會產生n種bug。某人一天發現一個bug,這個bug屬於某種bug,發生在某個子系統中。求找

UVA - 10648 Chocolate Box 概率dp

題目大意:       n個巧克力,放在m個盒子裡,問至少有一個盒子是空的概率 題解:      dp[i][j]表示i個巧克力放到j個盒子裡的概率      dp[i][j

Scout YYF I POJ - 3744概率dp

Description YYF is a couragous scout. Now he is on a dangerous mission which is to penetrate into the enemy's base. After overcoming a series difficulti

poj 2151 Check the difficulty of problems概率DP

Organizing a programming contest is not an easy job. To avoid making the problems too difficult, the organizer usually expect the c

POJ 3744 Scout YYF 矩陣優化的概率DP

題目大意: 在一條不滿地雷的路上,你現在的起點在1處。在N個點處布有地雷,1<=N<=10。地雷點的座標範圍:[1,100000000]. 每次前進p的概率前進一步,1-p的概率前進1-p步。問順利通過這條路的概率。就是不要走到有地雷的地方。 題目思路:

POJ - 3071 Football 概率DP

題意: 2的n次方個球隊按照競賽圖踢球,給你任意兩隻球隊之間相互贏球的概率,求最後哪支球隊最可能奪冠。 分析: dp[i][j]表示第 i 輪的時候,第 j 支隊伍贏的概率。 可得: 對於其中位運算,可以用一個二叉樹來更直觀的理解  (j>>(i

2019.01.02 poj3046 Ant Counting生成函式+dp

傳送門 生成函式基礎題。 題意:給出 n n n個數以及它們的數量,求從所有數中選出

ZOJ 1114-Chocolate 概率DP

Problem DescriptionIn 2100, ACM chocolate will be one of the favorite foods in the world."Green, orange, brown, red…", colorful sugar-coat

[Codeforces Round #284 (Div. 1) B]Name That Tune概率Dp

題意 red return 聽歌識曲 blog 應該 n) mean begin Description It turns out that you are a great fan of rock band AC/PE. Peter learned that and

HDU 4405 Aeroplane chess概率dp

i++ 題意 clu esp ostream con mat 計算 stdin http://acm.hdu.edu.cn/showproblem.php?pid=4405 題意: 有個屌絲喜歡玩飛行棋,現在棋盤就編號為0~n,起點為0,終點為n,只要最後大於等於n就可

POJ 3744 Scout YYF I:概率dp

特殊矩陣 con 滿足 sta struct -s 沒有 ssi get 題目鏈接:http://poj.org/problem?id=3744 題意:   有n個地雷,位置為pos[i]。   在每個位置,你向前走一步的概率為p,向前走兩步的概率為1-p。   你的初始位