今天下午沒什麼精神,於是跑去刷水題,刷什麼水題才不會太水呢?肯定是數論題了,然後就有了這道題。
給定乙個集合,求它所有子集的元素和。
各位大神推導的結論是每乙個元素一定會出現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...