【hpu oj 1014: 985的数学难题 [思维] 】
来源:互联网 发布:澄海 全知药水 编辑:程序博客网 时间:2024/06/04 18:35
点击打开链接
题解:
/*x^y+x&y==x|y考虑二进制的每一位对结果的影响比如1101、1001、1010进行上述运算则可发现:从右到左每一位上有1的个数记为cnt[0]~cnt[3]分别为2、1、1、3因为或运算除了0|0==0其余都为1也就是0|1+1|1.依次看二进制末尾有多少数贡献了1,再根据位运算的性质进行计数即可。*/#include<cstdio>#include<cstring>#include<algorithm>#define M 100009using namespace std;int a[M];int cmp(int A,int B){return A>B;}int main(){int t,i,n;while(~scanf("%d",&t)){while(t--){long long sum=0;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&a[i]);sum+=a[i];}sum*=(n-1);sort(a+1,a+n+1,cmp);long long m=1,ans;while(a[1]){ans=0;for(i=1;i<=n;i++){if(a[i]==0)break;if(a[i]&1)ans++;a[i]>>=1;}sum+=(ans*(n-ans)+(ans-1)*ans/2)*m*2;m<<=1;}printf("%lld\n",sum);}}return 0;}
阅读全文
0 0
- 【hpu oj 1014: 985的数学难题 [思维] 】
- 【hpu oj 1018 985的最大和难题 [思维]】
- 【hpu oj 1015 985的方格难题 [DP、数学] 】
- 【hpu oj 1019 985的买饮料难题 [数学、DP]】
- 【hpu oj 1022: 985的因子对难题 [数学]】
- 【hpu oj 1020 985的“树”难题 [DFS]】
- ZZULIOJ/ 郑轻OJ 1895: 985的0-1串难题(数学思维)
- 【HPU 1046 QAQ的数学问题】+ 思维
- 【HPU-OJ】Divide the pears(数学,思维)
- 【HPU-oj】-Triangles(锐角三角形个数,数学,思维)
- hpu-【1018: 985的最大和难题】
- ZZULI-oj 1893: 985的数学难题(与或运算)
- 【HPU OJ 1310 】序列的区间操作 【思维】
- 【hpu oj 1008 QAQ的矩阵价值 思维】
- 【hpu oj 1009 QAQ的区间价值 思维】
- 【hpu oj 1012: QAQ的区间统计 [思维]】
- 【hpu oj 1010 QAQ的序列价值 [数学、状态压缩]】
- 【hpu oj 1011 QAQ的序列组合 [组合数学]】
- qduoj ycb的ACM进阶之路(多重背包)
- Java中堆内存和栈内存详解
- Luogu 1144(SPFA+dp)
- A
- 京东云主机搭建FTP服务器,我用的Xlight-FTP服务器
- 【hpu oj 1014: 985的数学难题 [思维] 】
- MAC下Mongodb的安装
- xUtils3 的基本使用
- 不改变正负数相对顺序的重新排列
- TCP/IP编程之listen函数backlog参数详解(linux)
- win32开发流程
- JavaScript学习之引入方式、变量与方法
- Java Spring的基本知识
- kNN(K-Nearest Neighbor)最邻近规则分类