演算法訓練(更新中。。。)

2022-09-20 10:42:11 字數 1021 閱讀 3064

資源限制

時間限制:1.0s   記憶體限制:256.0mb

問題描述

共有n種圖案的印章,每種圖案的出現概率相同。小a買了m張印章,求小a集齊n種印章的概率。

輸入格式

一行兩個正整數n和m

輸出格式

乙個實數p表示答案,保留4位小數。

樣例輸入

2 3樣例輸出

0.7500

資料規模和約定

1≤n,m≤20

方法一:

#include#include

#include

using

namespace

std;

double dp[22];//

一維陣列,dp[i]:買i張印章,湊齊n種印章的概率

/*為什麼用一維陣列?

因為在此解法所用的遞推公式中,

買m張印章,湊齊n種印章的概率只與買m張印章,湊齊n-1種,n-2種...1種 的概率有關 ,

與買x(x!=m)張印章湊齊y(y>=1)種印章的概率無關。

這是乙個具體的問題,就是說明了買了m張,求的是裡面剛好有n,這個事件的概率

*/long

long c_fun(int n, int m)//

求c(n,m),注意n為下標,m為上標

double fun(int n, int m)//

dp[n],求印章問題,待求事件的概率

return

dp[n];

}int

main()

做這道題發現藍橋杯系統有bug誒,就算是通過了所有的測試,**的邏輯還是有問題的。不過這也是很正常的是,測試**是否正確他只看輸入輸出是否正確,只要通過那幾組測試,都沒啥大問題。

排序演算法,更新中

原理 從第乙個數開始,設其下標i 0,和後乙個位置數相比較,若左側值 右側值,兩數交換位置,i下標右移,再將i下標指向的數與右側數相比較,直到所有元素左側值都小於右側值。演算法 do boolean flag false 從位置1到最後乙個未排過序的元素 若左側元素 右側元素 兩元素交換位置 fla...

排序演算法,更新中

原理 從第乙個數開始,設其下標i 0,和後乙個位置數相比較,若左側值 右側值,兩數交換位置,i下標右移,再將i下標指向的數與右側數相比較,直到所有元素左側值都小於右側值。演算法 do boolean flag false 從位置1到最後乙個未排過序的元素 若左側元素 右側元素 兩元素交換位置 fla...

DailyTask 演算法彙總(更新中)

1 tf idf介紹 2 優點 tf idf演算法的優點是簡單快速,結果比較符合實際情況。3 缺點 單純以 詞頻 衡量乙個詞的重要性,不夠全面,有時重要的詞可能出現次數並不多。而且,這種演算法無法體現詞的位置資訊,出現位置靠前的詞與出現位置靠後的詞,都被視為重要性相同,這是不正確的。一種解決方法是,...