把每个数字每一位上二进制数字取出,求答案时直接用N个数里这一位是0的个数乘上这一位是1的个数然后乘上二的这一位次方,注意所有可能溢出的地方都要对mod取模。

 #define HAVE_STRUCT_TIMESPEC
#include<bits/stdc++.h>
using namespace std;
long long a[];
int num[][];
long long sum0[],sum1[],presolve[];
const long long mod = 1e9+;
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
cin>>n;
for(int i=;i<=n;++i)
cin>>a[i];
for(int i=;i<=n;++i){
long long temp=a[i];
int cnt=;
while(temp){
if(temp&)
num[i][cnt]=;
++cnt;
temp/=;
}
}
long long ans=;
for(int i=;i<=n;++i){
for(int k=;k<=;++k){
if(num[i][k]==)
++sum0[k];
else
++sum1[k];
}
}
long long x=;
presolve[]=;
for(int i=;i<=;++i){
x*=;
presolve[i]=x;
}
for(int i=;i<=;++i){
ans+=(((sum0[i]*sum1[i])%mod)*(presolve[i]%mod))%mod;
ans%=mod;
}
cout<<ans;
return ;
}

最新文章

  1. jQuery_Ajax_Json 异步接收PHP端传来的json数据
  2. Oracle GoldenGate 12c (12.1.2.0.1) for IBM DB2 iSeries
  3. 如何利用PhoneGap制作地图APP
  4. uva 10791
  5. java - String 浅谈
  6. C# 2 运算符 if
  7. 私有云Mariadb集群搭建
  8. hadoop系列二:HDFS文件系统的命令及JAVA客户端API
  9. async/await的多线程问题
  10. java多线程系列(六)---线程池原理及其使用
  11. 从交叉熵损失到Facal Loss
  12. PowerShell 并行执行任务
  13. PowerShell 发布farm solution
  14. Appium 如何模拟按键
  15. 双网卡双线路DNS解析分析
  16. JAVA Socket 编程---Socket 和 ServerSocket
  17. java关于集合的遍历与增强for循环(foreach)的使用
  18. Android,我待你入初恋啊,你就别坑我了!
  19. 作为一枚第二天上班的小小.net程序员(技术宅的那种)很迷茫哦,第一个随笔
  20. 使用Eclipse构建Maven项目

热门文章

  1. 左边div固定宽度,右边div自适应撑满剩下的宽度--实现方法汇总
  2. KMP小扩展,找出子串在主串中出现的所有位置
  3. 09 部署nginx web服务器(转发uwsgi请求)
  4. Shashlik Cooking
  5. centos7安装谷歌浏览器
  6. 在多租户(容器)数据库中如何创建PDB:方法3 克隆远程PDB
  7. 一看就会一做就废系列:说说 RECOVER DATABASE(下)
  8. MonoBehaviour单例的另外一种省事的写法
  9. 题解【Codeforces886B】Vlad and Cafes
  10. unittest学习3-测试组件setup、teardown