![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
位运算
Code--Dream
acm
展开
-
题目1
点击打开题目链接 题目大意:N 个人来自不同学校,相同学校的人需要站在一排,每排人数为K 人。 问那个学校的人不满足。详见题目。 大致思路: 统计每个学校的人数,输出不能被K整除的那个,简单说 统计数字出现次数,输出不能被K整除的数字。借鉴他人思路,用二进制统计一下。将每个数转化为二进制,用一个数组统计一出现的次数,按位统计1的个数。我们可以假设,原创 2016-04-28 16:07:09 · 491 阅读 · 0 评论 -
位运算巧妙用法
1. (1 1. 如果乘上一个2的幂,可以改用左移运算(Left Shift) 加速 300% [cpp] view plain copy x = x * 2; x = x * 64; //改为: x = x // 2 = 2^1 x = x // 64 = 2^6 2. 如果除上一个 2转载 2016-03-13 20:37:21 · 567 阅读 · 4 评论 -
nyoj 86 --位标记
nyoj 86 --位标记 点击打开题目链接 : 找球号(一) 这道题目很多解法,其他解法请参考 http://www.cnblogs.com/playboy307/p/5273737.html 我参考最优代码写了一下,思路就是标记,一个数除以32会得到 商(a) 和 余数(b) ,那么已知a,b就可以确定一个数。那么我们可以用一个数组的原创 2016-10-16 16:53:21 · 541 阅读 · 0 评论 -
Relocation POJ-2923
题目链接 题目意思: 有 n 个货物,并且知道了每个货物的重量,每次用载重量分别为c1,c2的火车装载,问最少需要运送多少次可以将货物运完。 分析:本题可以用二进制枚举所有不冲突的方案,再来dp 一下,一开始dp数组初始化为正无穷,dp[0]=0,代表什么都不运送需要多少趟,对于每个不冲突的选择方案;假设有 5 个物品, 就是更新 dp 数组 00000~11111 的状态的趟数。每次需要用不原创 2016-10-26 23:00:16 · 496 阅读 · 0 评论