hdu4336(概率DP 狀態壓縮)

2021-06-23 00:20:50 字數 549 閱讀 7063

題意:要收集n張卡片,得到每張卡片的概率為pi,所有的pi之和不一定為1

思路:這題的n只有20,所以可以用狀態壓縮,由於數學知識不給力,思路是隊友給的,設所有卡片的集合為u,已經擁有的卡片集合為s,初始態s = ,最終的狀態為s = u,  狀態轉移為dp[i] = 1 + p1*dp[j1] + p2*dp[j2]............其中dp[i] 表示狀態為i的期望,狀態j是從狀態u- i 中選取一張卡片得到的狀態,注意這裡pi和不為1,此外,題目說誤差小於10e-4,那麼至少保留5位小數

**如下:

#include#include#include#include#include#include#include#include#include#include#define n 20

#define inf 0x7ffffff

#define eps 1e-9

#define pi acos(-1.0)

using namespace std;

double p[n];

double sump;

double dp[1<

hdu4336(壯壓DP 概率DP)

需要集齊n張卡片,每買一包零食,裡面可能有不同的卡片,存在每種卡片的概率已知,每包零食最多有一張卡片。問集齊n張的期望。dp i 表示i這個狀態下還需要多少包的期望,dp 1 一開始不會寫,看了別的狀態轉移方程 dp i sum dp i 1 如果想得到一張卡片,期望就是 1 va k 上面的方程和...

hdu 4336 容斥原理

按照解題報告的提示,用容斥原理實現 for int j bg 1 j另解 概率dp,康哥指導的 include include includeusing namespace std double f 1 21 gl 22 int main int i,j,k,n double fz,fm while...

Hdu 3811 狀態壓縮 DP

題意 給定數n n 17 求乙個n位數,每位可選1 n中的乙個,且每位不同,並且滿足給定的條件,求方案數。給定條件為m個 x y 表示第x位為y的滿足要求。滿足m中的乙個條件即正確。演算法 dp 狀態壓縮 分析 首先不考慮條件的總方案數為n 我們先算不滿足條件的方案,因為m個條件之間是或者 關係,有...