沒看懂題意( •_•)以為每個人只能聊天一次,語文水平被教育了
考慮容斥。我們只需要列舉n位二進位制s,計s為a[i]子集的數量為cnt,那麼貢獻就是(−
1)x×
cntk
( −1
)x×c
ntk,其中x為二進位制s中1的數量
於是乙個o(
2n×m
) o(2
n×m)
的暴力是70分
我們觀察可以發現每個a只會使它子集的cnt改變,於是我們列舉所有a的子集然後記cnt[x]為含有x這個子集的a的數量,然後就可以過了
我一開始
#include
#include
#define rep(i,st,ed) for (int i=st;i<=ed;++i)
typedef
long
long ll;
const
int mod=1000000007;
const
int n=1000005;
int n,m,k;
int a[n],cnt[1048580];
ll ans=0;
int read()
ll ksm(ll x,ll dep)
return ret;
}void dfs(int dep,int s,ll c)
dfs(dep+1,s,c);
dfs(dep+1,s|(1
<1),-c);
}int main(void)
}*/ dfs(1,0,-1);
printf("%lld\n", ans);
return
0;}
NYOJ 586 瘋牛 二分
時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 農夫 john 建造了一座很長的畜欄,它包括n 2 n 100,000 個隔間,這些小隔間依次編號為x1,xn 0 xi 1,000,000,000 但是,john的c 2 c n 頭牛們並不喜歡這種布局,而且幾頭牛放在乙個隔間...
586 瘋牛(二分查詢 貪心)
農夫 john 建造了一座很長的畜欄,它包括n 2 n 100,000 個隔間,這些小隔間依次編號為x1,xn 0 xi 1,000,000,000 但是,john的c 2 c n 頭牛們並不喜歡這種布局,而且幾頭牛放在乙個隔間裡,他們就要發生爭鬥。為了不讓牛互相傷害。john決定自己給牛分配隔間,...
瘋牛 nyist586 二分答案
時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 農夫 john 建造了一座很長的畜欄,它包括n 2 n 100,000 個隔間,這些小隔間依次編號為x1,xn 0 xi 1,000,000,000 但是,john的c 2 c n 頭牛們並不喜歡這種布局,而且幾頭牛放在乙個隔間...