zoj 3870
2017-09-25 17:14
281 查看
题意:给你一个数列,选出其中两个数A,B,求满足A^B>max(A,B)的个数。
思路:假设A>B,”A^B>A”的条件是在A的二进制位为从左往右数ai为0的位置bi为1,如A=1111011011,则满足条件的B为00001XXXXX或00000001XX。
思路:假设A>B,”A^B>A”的条件是在A的二进制位为从左往右数ai为0的位置bi为1,如A=1111011011,则满足条件的B为00001XXXXX或00000001XX。
#include <iostream> #include <stdio.h> #include <string.h> using namespace std; int cnt[100005]; int a[100005]; int main() { int t; cin>>t; while(t--) { int n; scanf("%d",&n); memset(cnt,0,sizeof(cnt)); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); int x=a[i],k=0; while(x) { k++; x/=2; } cnt[k]++; } int ans=0; for(int i=1;i<=n;i++) { int k=1; while(a[i]) { if(a[i]%2==0) { ans+=cnt[k]; } k++; a[i]/=2; } } cout<<ans<<endl; } }
相关文章推荐
- ZOJ 3870:Team Formation【技巧】
- ZOJ 3870 Team Formation (The 12th Zhejiang Provincial Collegiate Programming Contest 数位DP+二分)
- ZOJ 3870 Team Formation
- ZOJ 3870 Team Formation 贪心二进制
- ZOJ-3870 Team Formation
- Zoj 3870 Team Formation(异或运算)
- ZOJ 3870
- zoj 3870
- ZOJ 3870
- ZOJ-3870-Team Formation
- zoj 3870 异或运算
- ZOJ 3870 Team Formation(异或)
- 数学题ZOJ3870 Team Formation(2015浙江省赛)
- ZOJ 题目3870 Team Formation(数学,位运算)
- zoj 3870 Team Formation(异或运算)
- ZOJ 3870 Team Formation(二进制找规律)
- zoj 3870 Paint the Grid Again( 拓扑排序字典序)
- ZOJ 3872 Beauty of Array&&ZOJ 3870 Team Formation
- ZOJ 3870 Team Formation (异或运算)
- ZOJ Problem Set - 3870【找规律】