最近才看书,看到状态压缩。对于状态压缩,其实就是集合上的DP。
这需要我们了解一些位运算:
集合{0,1,2,3,....,n-1}的子集可以用下面的方法编码成整数
像这样,一些集合运算就可以用如下的方法来操作:
1.空集....................0
2.只含有第i个元素的集合{i}................1
3.含有全部n个元素的集合{0,1,2,3,.....
分类:
其他好文 时间:
2015-07-28 21:15:59
阅读次数:
115
蚂蚁的难题(一)
时间限制:1000 ms |
内存限制:65535 KB
难度:2
描述
小蚂蚁童鞋最近迷上了位运算,他感觉位运算非常神奇。不过他最近遇到了一个难题:
给定一个区间[a,b],在区间里寻找两个数x和y,使得x异或y最大。来,帮帮他吧!
输入
有多组测试数据(以EOF结尾)。
每组数据输入两个数a,b.(0
输出
输出a到b之间,异或最大的值。
样例输入...
分类:
其他好文 时间:
2015-07-28 14:36:07
阅读次数:
111
float r = float((uint32)color&(uint32)0x000000ffU)/128.0f;float g = float((uint32)color&(uint32)0x0000ff00)/128.0f;float b = float((uint32)color&(uint...
分类:
其他好文 时间:
2015-07-28 14:32:28
阅读次数:
79
如果遇到这样的枚举情况,一个数组a[6],每个值只能取0或者1,共有64种情况,我们需要一次枚举出来。方法1:从0到63一次转换成二进制填充进去(麻烦)。方法2:位运算实现代码:int main(void){ int cnt=0; for(int k=0; k<64; k++){ //枚...
分类:
其他好文 时间:
2015-07-27 22:54:22
阅读次数:
162
Count Color
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 38921
Accepted: 11696
Description
Chosen Problem Solving and Program design as an optional course...
分类:
其他好文 时间:
2015-07-27 13:19:11
阅读次数:
133
Java提供的位运算符有:左移( >) 、无符号右移(>>>) 、位与(&)、位或( |)、位非(~)、位异或(^),除了位非( ~ )是一元操作符外,其它的都是二元操作符。print Binary:System.out.printIn(Integer.toBinaryString(2)); //....
分类:
编程语言 时间:
2015-07-27 13:03:33
阅读次数:
148
题意描述:
有一个n个点m条边的二分图,通过加边使得这张图变成一个边数最多的完全二分图. 最多能够新加多少条边. 注意重边是不允许的.
解题思路:
1、先对二分图染色(dfs),统计二分图中每个连通块(注意:这个二分图并不一定连通)中黑色和白色的数量(黑、白是相对的,不同连通块之间的黑、白没有联系);
2、从每个连通块中选出黑或白的数量作为整个二分图中白色的那组,根据题目描述我们只...
分类:
其他好文 时间:
2015-07-26 19:21:46
阅读次数:
332
上午做题,顺便看了几篇关于位运算的文章,让我对位运算有了新的认识,原来它还可以做这么多的事情,并总结了一些常用用法。...
分类:
其他好文 时间:
2015-07-26 06:16:17
阅读次数:
90
题意:有n个数存放在数组a1[]中,然后数组a1[]生成数组a2[],a2[]生成a3[].....一直生成an[],公式是ai[k]=ai-1[k]&ai-1[k+1],现在如果把初始数据也就是数组a1[]里的某一个数换成另一个数,求所有数组的总和是多少。
分析:既然这里的数组生成公式里用到了位与运算,那么就用位运算来做了。
把数字写成二进制,公式的意思就是说同一数组的相邻数字的对应二进制位...
分类:
其他好文 时间:
2015-07-24 22:40:52
阅读次数:
149
复习:数据类型基本类型:整型:int short long byte浮点型:float double字符型:char布尔型:true false引用类型:类、接口、数组运算符:算术运算符关系运算符赋值运算符:=逻辑:&& 且 || 或 ! 非位运算符:>> <<条件运算符:表达式1?表达式2:表达式...
分类:
其他好文 时间:
2015-07-24 20:18:19
阅读次数:
90