D - Jzzhu and Numbers

这个容斥没想出来。。。 我好菜啊。。

f[ S ] 表示若干个数 & 的值 & S == S得 方案数, 然后用这个去容斥。

求f[ S ] 需要用SOSdp

#include<bits/stdc++.h>
#define LL long long
#define fi first
#define se second
#define mk make_pair
#define PLL pair<LL, LL>
#define PLI pair<LL, int>
#define PII pair<int, int>
#define SZ(x) ((int)x.size())
#define ull unsigned long long
using namespace std; const int N = 1e6 + ;
const int inf = 0x3f3f3f3f;
const LL INF = 0x3f3f3f3f3f3f3f3f;
const int mod = 1e9 + ;
const double eps = 1e-; int cnt[<<], bin[N], num[<<], n; int main() {
for(int i = bin[] = ; i < N; i++) bin[i] = bin[i - ] * % mod;
scanf("%d", &n);
for(int i = ; i <= n; i++) {
int x; scanf("%d", &x);
cnt[x]++;
}
for(int i = ; i < ; i++)
for(int S = ; S < ( << ); S++)
if(S >> i & ) cnt[S ^ ( << i)] += cnt[S];
LL ans = bin[n];
for(int S = ; S < ( << ); S++) {
num[S] = num[S-(S&-S)] + ;
if(num[S] & ) ans = (ans - bin[cnt[S]] + mod) % mod;
else ans = (ans + bin[cnt[S]]) % mod;
}
printf("%lld\n", ans);
return ;
} /*
*/

最新文章

  1. Android三种消息提示
  2. ios本地推送
  3. Spring 源码学习
  4. Codeforces 721D [贪心]
  5. hibernate cascade=CascadeType.All
  6. C#常用函数--通用篇
  7. Java之获取系统属性
  8. IE layout详解
  9. css 中的若干心得
  10. ios7学习之路七(隐藏虚拟键盘,解决键盘挡住UITextField问题)
  11. 201521123035《Java程序设计》第十周实验总结
  12. Storyboard的几点缺憾
  13. Windows下Maven3.3.9安装与配置
  14. Mask RCNN 原理
  15. Visual Studio自动添加头部注释
  16. 开始Django之旅
  17. Guava包学习--Multiset
  18. ios 给UIImageView添加阴影
  19. ON DUPLICATE KEY UPDATE 插入or更新
  20. 16.数据类型(data_type)

热门文章

  1. 【bzoj2440】 中山市选2011—完全平方数
  2. 【bzoj4009】 HNOI2015—接水果
  3. Oracle和SQL SERVER在SQL语句上的差别
  4. Linux系统上查找已安装软件的路径
  5. mysql concat_ws 与 concat 多字段模糊匹配应用
  6. 关于css中a标签的样式
  7. python 玩具代码
  8. 禁止表单操作及JS控制输入的方式
  9. 2016-2017-2 20155309 南皓芯java第六周学习总结
  10. 如何用Procmon.exe来监视SQLSERVER的logwrite大小