• 题意:给你一组数,求有多少对\((i,j)\),使得\(a_{i}\)&\(a_{j}\ge a_{i}\ xor\ a_{j}\).

  • 题解:对于任意两个数的二进制来说,他们的最高位要么相同要么不相同,如果相同,那么肯定是满足题目条件的,因为异或是不进位的加法,所以我们只要找到所有最高位相同的数的个数,用桶存下来,然后再对他们求个和就行了.

  • 代码:

    int t;
    int n;
    ll x;
    map<ll,ll> mp; int main() {
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    cin>>t;
    while(t--){
    cin>>n;
    mp.clear();
    for(int i=1;i<=n;++i){
    cin>>x;
    ll cnt=0;
    while(x){
    cnt++;
    x>>=1;
    }
    mp[cnt]++;
    }
    ll res=0;
    for(auto w:mp){
    res+=w.se-1+(w.se-1)*(w.se-2)/2;
    }
    cout<<res<<endl;
    } return 0;
    }

最新文章

  1. WebSocket - ( 一.概述 )
  2. orcad candence 快捷键小结
  3. Thinking in Java——笔记(10)
  4. Qt4过渡至Qt5
  5. Ruby界面开发--wxRuby库TextCtrl相关问题
  6. BFS visit tree
  7. HTTP Status 404 - No result defined for action com.hebky.oa.classEntity.action.EntitysAction and result input
  8. Vnix项目正式启动
  9. OC继承以及实例变量修饰符
  10. 【后缀自动机】洛谷P3804模板题
  11. oracle创建函数和调用存储过程和调用函数的例子(区别)
  12. 警惕32位程序在MethodImplOptions.Synchronized在x64机器上的同步缺陷[z]
  13. python--类中的对象方法、类方法、静态方法的区别
  14. oracle数据库名称已被一现有约束条件占用
  15. VS2017中 C# dll引用(C生成dll,C++生成dll)小结 - 简书
  16. Java中测试StringBuilder、StringBuffer、String在字符串拼接上的性能
  17. python实现排序算法二:归并排序
  18. 详解一下 javascript 中的比较
  19. Font Awesome矢量版,十六进制版,WPF字体使用
  20. coreos 创建使用密钥登陆的ubuntu 基础镜像

热门文章

  1. 十五:SQL注入之oracle,Mangodb注入
  2. Git软件安装过程
  3. SDUST数据结构 - chap8 查找
  4. DSL是什么?Elasticsearch的Query DSL又是什么?
  5. requests模块的基本使用
  6. Matlab GUI学习总结
  7. 参数模型检验过滤器 .NetCore版
  8. history附上时间戳,history命令_Linux history命令:查看和执行历史命令
  9. Bitter.Core系列 十二 :Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore 之 支持的 where 条件表达式
  10. 【转载】Linux中找不到ifconfig命令的解决方法