luogu P2415 集合求和

2021-08-09 22:48:56 字數 567 閱讀 2314

今天下午沒什麼精神,於是跑去刷水題,刷什麼水題才不會太水呢?肯定是數論題了,然後就有了這道題。

給定乙個集合,求它所有子集的元素和。

各位大神推導的結論是每乙個元素一定會出現2^n-1次,然後我這個蒟蒻就又採用了一種辣雞做法。

我們知道乙個n個元素的集合,m個元素的子集有c(n,m)個,而在這些集合的總體中,每個元素的出現概率是均等的,所以說,在全部大小為m的子集中,某個元素出現了

(c(n,m)*m)/n次,然後我的辣雞暴力就完成了(然後就爆int了),最後加上unsigned long long。就可以水過了。

#include#include#include#include#include#include#define ll unsigned long long

using namespace std;

ll c[1001][1001];

ll n;

ll sum;

ll ans;

int p;

ll a[1001];

int main()

// cout<

P2415 集合求和

p2415 集合求和 顯然,一共有2 n個子集,對於其中的乙個確定的元素,它不在的集合有2 n 1 相當於有n 1元素,那麼它存在的集合有,2 n 2 n 1 2 n 1 那麼集合的和為sum 2 n 1 1 include2 using namespace std 34 long long p l...

LuoguP5748 集合劃分計數

乙個有 n 個元素的集合,將其分為任意個非空子集,求方案數。集合之間是無序的,設 f n 表示用 n 個元素組成的集合的個數,顯然 f n 1 設 f x 為 f 的指數型生成函式,那麼 f x sum frac f i x 的第 n 位就是 i 個元素個數之和為 n 的集合組合在一起的方案數。設 ...

python3集合 Python3 集合

集合 set 是乙個無序的不重複元素序列。可以使用大括號 或者 set 函式建立集合,注意 建立乙個空集合必須用 set 而不是 因為 是用來建立乙個空字典。建立格式 parame 或者set value 這裡演示的是去重功能 orange in basket 快速判斷元素是否在集合內 true c...