CSP 收集卡牌

2022-09-09 20:09:32 字數 1786 閱讀 9317

csp_收集卡牌

-----------廢話連篇-------

體會到,當有一定基礎之後,一道題最難的是有思路--理解題意後可以用已知的

工具(資料結構和演算法,數學等)構建出思路.

有時候連題意都搞不懂,有時候連暴力都不會!有時候知道思路後將這種思路實現之後,

並不代表會了這道題,因為以後遇到相同型別的題目,甚至是除了背景題意完全一模一樣

的題可能仍然不會做!!!

思路歷程: 剛開始看著道題,嘗試去推導公式,結果發現並不容易,感覺計算機解決的問題大多數是

比較模糊的形式,像那種分析解,而不是數值解,他可以去逼近,或者 通過列舉逐漸去靠近那個結果,

就像動態規劃,為了求得結果,前面鋪了很長的路,然而往往 這種方法卻是最簡便的,

其實 感覺動態規劃如果一般用於求最優解,這個題更像遞推

但是做題一定程度上並不是看這道題符合哪個演算法的特徵才去嘗試 使用這個演算法 ,

這也許是一種思路,但是更可靠的還是前面所說根據需要採用演算法或資料結構:

首先,期望便是要求出每一種次數對應成功的概率,這是基調,即使有合併等操作會使求解更簡便,

但先從這裡開始思考;對於我抽取的這i次,有多少種,分別是哪些,這是比較直直觀,有比較重要的資訊,

那麼這個時候確實需要對演算法的條件有種敏銳感,(當然,表示狀態不一定要用受限於資料範圍的二進位制壓縮,

也可以使用陣列來表示,但如果資料量不大的話,顯然二進位制的位運算會是操作更為便捷!),

看到16這麼小,便可以聯想到二進位制狀態壓縮;

現在有了抽取次數和這些次數中包含的種類狀態,那麼是否可以完全確定抽取具體情況呢?

顯然不能,而且十分不清晰,這就是這個題目最大的難點或者對於我來說比較難以跨過的乙個坎,

但如果我知道抽取i次,i次中包含的種類的狀態s的概率呢?那麼就可以算出i次

在期望公式中的那部分(應該有概率論中的術語),如何求?直接推到公式肯定牛逼,而且我猜測可能只要數學能力強,

應該是可以推出來的,但我的數學能力不強,,,,

那麼這個時候就涉及對資訊的利用,或者說我去由之前求得的結果,或者這樣想:

我抽取的第i次(抽到第k個),可能在前i-1次抽取所構成的狀態中(\(f_=f_*p_k\)),也可能不在(\(f_=f_*p_k\)),那麼狀態轉移方程就是\(f_=(f[i-1][j]+f[i-1][j-(1<<(k-1))])*p_k\)

得到狀態轉移方程之後剩下的便是細節了. 那麼怎麼在乙個完全類似但不一樣的題型中能夠想到這種遞推的思路呢?我想,要對某乙個具體操作進行分情況討論,看分出來的幾種情況能不能被簡化求解,能不能由其他結果推出,能不能不斷地被分解成非常簡單的問題,這種逐層分解 的思路真的很重要!!!

#include#define local

using namespace std;

int cont[1<<16];

long double f[85][1<<16];

long double p[20];

long double ans;

int read()

while (c>='0' && c<='9')

return f*s;

}int main()

}f[0][0]=1.0000000000;

for (int i=1;i<=(n-1)*k+1;++i)

}if ((cont[j]+(i-cont[j])/k)==n)}}

printf("%.10lf",ans);

// printf("\n%d",(-1)/4);

return 0;

}

卡牌遊戲II bfs

有n張卡片,上面印著整數a1,a2,a3 an,可以選取其中任意數量張卡片,求出乙個和s,共有2 n 1個和 要求出最小的前n個和分別是多少 題目包含多組資料。輸入的每一行有乙個整數t 1 t 5 代表有t組資料 對於每組資料分為兩行 第一行有兩個整數n,k 其中1 n 200000,1 k min...

卡牌遊戲期望

題目描述好像有點問題。應該是n種卡牌。m種稀有卡牌,且抽出不放回。對於求期望來說,相比之下我們更容易求出概率。而對於此類題目 期望往往 1 概率 暫時這麼理解的 而期望具有可加性。把所有稀有卡牌都抽一遍的期望 每次抽得乙個稀有卡牌的期望的和。至少抽出k張稀有卡牌的期望 抽出k張每次抽的乙個稀有卡牌的...

卡牌分組 leetcode

給定一副牌,每張牌上都寫著乙個整數。僅當你可選的x 2時返回true。示例 1 輸入 1,2,3,4,4,3,2,1 輸出 true解釋 可行的分組是 1,1 2,2 3,3 4,4 示例 2 輸入 1,1,1,2,2,2,3,3 輸出 false解釋 沒有滿足要求的分組。示例 3 輸入 1 輸出 ...