题面

首先有个结论:$C_n^m$为奇数当且仅当$m$是$n$的一个子集

于是从后往前推,记录每个数出现的位置,然后对每个位置枚举子集统计在它后面的贡献即可

 #include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=;
const long long mod=1e9+;
long long a[N],dp[N],pos[N];
long long n,ans;
int main()
{
scanf("%lld",&n);
for(int i=;i<=n;i++)
{
scanf("%lld",&a[i]);
pos[a[i]]=i,dp[i]=;
}
for(int i=n;i;i--)
{
dp[i]=;
for(int j=a[i];j;j=a[i]&(j-))
if(pos[j]>i) dp[i]=(dp[i]+dp[pos[j]])%mod;
ans+=dp[i];
}
printf("%lld",(ans-n+mod)%mod);
return ;
}

最新文章

  1. 【BZOJ-4514】数字配对 最大费用最大流 + 质因数分解 + 二分图 + 贪心 + 线性筛
  2. UIScrollView滚动视图
  3. 修改Tomcat编码方式的两种方法
  4. AD9 笔记:
  5. AngularJs学习笔记--html compiler
  6. SQL SERVER 2008 R2 错误代码 17000 - 17999
  7. 跟踪MYSQL 的查询优化过程方法
  8. Python3.4入门之ifelse错误解决方案
  9. Vue H5 History 部署IIS上404问题
  10. springboot项目启动时提示Address already in use: bind
  11. python的高阶函数式编程
  12. 【Noip模拟 20160929】选数
  13. 简单登录注册实现(Java面向对象复习)
  14. ubuntu LAMP的安装
  15. Latex:多个公式使用同一个编号(右对齐)
  16. python-day21--time模块
  17. 基于Hadoop开发网络云盘系统架构设计方案第一稿
  18. 微信小程序-简易计算器
  19. 2015年传智播客JavaEE 第168期就业班视频教程 02-ERP简介
  20. java项目迁移

热门文章

  1. PHP双向队列
  2. OAI搭建总结
  3. static和构造函数初始化顺序
  4. 用EC5/EC6自定义class的区别及用法 -- Phaser3网页游戏框架
  5. 【坚持】Selenium+Python学习之从读懂代码开始 DAY1
  6. openvpn部署
  7. IO多路复用(一)-- Select、Poll、Epoll
  8. android开发问题 Failed to pull selection 菜鸟记录
  9. [python][odlboy]设置字符串打印的颜色
  10. CF 1008B Turn the Rectangles(水题+贪心)