题意:
多组数据、
有个5*6的图,然后你要对某些位置进行操作,使得最后灯的状态如图。
操作:这个灯位置的上下左右以及自己这五盏灯状态都取反。
然后输出操作。
说实话什么亮灭什么我全都没考虑。
直接瞎写一遍就PE了,改改就AC了。
高斯消元解异或方程组:
跟正常高斯消元一样,只不过拿一个式子A消式子B的时候,是用异或而不是加减乘除。
代码:
#inclu...
分类:
其他好文 时间:
2015-02-04 09:26:56
阅读次数:
104
题目大意(新nim游戏):定义一种新的nim游戏,每个人在一开始都有一次机会拿走任意堆的石子或者一个都不拿,问先手必胜时第一次最少取走多少。
思路:正常的nim游戏只要有一个子集的异或和=0那么先手就是必败的。注意到只要过了两个回合之后这个游戏就变成了正常的nim游戏,如果在我们第一次取的时候,如果剩余的所有堆中存在一个子集的异或和=0,那么后手就会让他拿走之后剩下的石子的异或和为0,我...
分类:
其他好文 时间:
2015-02-03 17:22:48
阅读次数:
196
题意:给若干个数让你异或,然后询问第k大的异或和。
题解:
先搞出来线性基,然后第k大的异或和就是:
把k二进制拆分,第i位上有1,就把第i个线性基异或进来。
原因:
因为线性基是一堆高位上的1(或许有一些位动不了),然后把这样每一位可以填0/1,跟二进制差不多。
自己脑补去吧。
……我在说什么啊,我明白但是懒得写了。别管了,扒代码或者留言神马的吧。
经验之...
分类:
其他好文 时间:
2015-02-03 15:16:27
阅读次数:
209
题面:
最富有的人
Time Limit: 1 Sec Memory Limit: 64 MB
Description
你经过了一段时间的打工,老板带你来到了他的私人金库。
在你的面前有n堆金子,老板要求你只能选择其中的两堆,而你的工资为这两堆金子价值的xor值,你想成为最富有的人,你就要做出最优的选择。
/*
名词解释:
xor运算,...
分类:
其他好文 时间:
2015-02-03 13:27:02
阅读次数:
186
位运算可以实现哪些功能
许多时候,我们为了减少算法的时间复杂度,都是推荐使用位运算,今天我们整理一下位运算可以实现哪些功能。
1. 乘除2
左移1位乘以2,左移n位乘以2^n;
右移1位除以2,右移n位除以2^n;
举个例子:
#include
using namespace std;
int main()
{
...
分类:
其他好文 时间:
2015-02-03 11:06:51
阅读次数:
111
题意:找一条异或最长路。
题解:先随便来一条路径,然后我们发现这条路径上可以随便加简单环(不管有没有共点共边)、
就是因为可以先从某点走到环上来一圈再走回来,这样来去的路径被搞没了,简直污得不行。
然后我们可以用线性基来决定去异或哪些环。
并没有错。
算了来点干的吧,上面的都是在扯淡。
SARFT Warning:
5>>64=?
5>>65=?...
分类:
其他好文 时间:
2015-02-02 18:08:36
阅读次数:
178
高斯消元解Xor方程组Orz ZYF o(︶︿︶)o 唉我的数学太烂了……错误思路:对每个格点进行标号,然后根据某5个异或和为0列方程组,高斯消元找自由元……(目测N^3会TLE)ZYF的正确思路:如果第一行的数知道了,我们就可以推出其他行的数。那么如何判断第一行的数的一种填法是否合法呢?很简单,我...
分类:
其他好文 时间:
2015-01-31 19:12:05
阅读次数:
757
1. 绝对值int abs( int x ){ int y ; y = x >> 31 ; return y ? ( ~x + 1) : x;} 任何数与0异或都保持不变,与-1(0xffffffff)异或都取反优化后:int abs( int x ){ int y ; ...
分类:
其他好文 时间:
2015-01-30 17:26:59
阅读次数:
120
C/C++位操作运算符操作符功能用法~位求反~expr>右移expr1>> expr2&位与expr1 & expr2^位异或expr1^ expr2|位或expr1| expr2例子请参见http://www.cnblogs.com/thujason/archive/2010/07/08/1773...
分类:
编程语言 时间:
2015-01-30 15:13:54
阅读次数:
184
题目地址:SGU 200
这题居然还考大数高精度。。无语。。
令有该因子偶数个为0,奇数个为1,这样就满足异或运算了,即奇+奇=偶,偶+偶=偶,奇+偶=奇。然后建立方程高斯消元求变元个数free_num,那么子集的个数就是2^free_num-1。减1是去掉0的情况。注意要用大数运算
代码如下:
#include
#include
#include
#include
#includ...
分类:
其他好文 时间:
2015-01-30 10:47:04
阅读次数:
241