UPC:2536 Changlong(二进制技巧)
来源:互联网 发布:梦幻西游手游脚本源码 编辑:程序博客网 时间:2024/06/02 13:39
http://acm.upc.edu.cn/problem.php?id=2536
题意:给你一个数组,有一个数出现q次,其余数字出现p次。现在要找出这个出现一次的数来。
内存卡的很紧,只要1MB。
思路:开一个数表示二进制的每一位,10^7开个25的数组足够。把每个数用二进制数表示,每位有数字则该数组位置+1。
由于有个数字不是出现了p次,所以该数字的每一位都不能被p整除。这样可以计算出这个数字来。
不能加过多头文件,它们也是会占内存的,否则会MLE。
#include <cstdio>#include <cstring>using namespace std;int bnt[32]= {0};int main(){ int T,kase=0; scanf("%d",&T); while(T--) { printf("Case %d:\n",++kase); int n,p,q; scanf("%d%d%d",&n,&p,&q); memset(bnt,0,sizeof(bnt)); for(int i=0; i<n; ++i) { int v; scanf("%d",&v); for(int j=0; j<25; ++j) { if(v&(1<<j)) bnt[j]++; } } int ans=0; for(int i=0; i<25; ++i) if(bnt[i]%p) ans+=(1<<i); printf("%d\n",ans); } return 0;}
0 0
- UPC:2536 Changlong(二进制技巧)
- 关于Unified Parallel C(UPC)
- UPC:2226 Contest Print Server(模拟)
- UPC 1017 Easy Tree Query (二叉搜索树)
- UPC 1053 Mysterious Treasure (记忆化搜索)
- UPC 1053 Mysterious Treasure (记忆化搜索)
- upc 3795 食物链(邻接表+记忆dfs)
- 高斯消元upc
- 二进制中的技巧
- ACM二进制运算技巧
- ACM二进制运算技巧
- 二进制运算技巧
- 二进制运算技巧
- 二进制小技巧
- 二进制小技巧
- acm二进制运算技巧
- poj 1276(背包问题,二进制优化技巧)
- HDU 4588 Count The Carries (数学-- 二进制技巧枚举)
- 背景建模SACON
- 链表相关的算法题大汇总 — 数据结构之链表奇思妙想
- Javascript 浮点运算问题分析与解决
- linux下安装protobuf及常见错误
- C++ iterator用法
- UPC:2536 Changlong(二进制技巧)
- 求一个32位数中1的个数
- iOS - Xcode升级到5.1& iOS升级到iOS7.1问题:Undefined symbols for architecture x86_64
- EBS OAF开发中的Java 实体对象(Entity Object)<三>
- cn_office_professional_plus_2010_with_sp1_x86_x64_732114安装密钥
- 《Go语言程序设计》第6章练习
- 港版iPhone
- 数据结构之排序和查找
- 修改Win8.1计算机中设备分组样式