题目名称 | 1427. zwei |
---|---|
输入输出 | zwei.in/out |
难度等级 | ★☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | cqw 于2013-10-26加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:155, 提交:248, 通过率:62.5% | ||||
AAAAAAAAAA | 100 | 0.120 s | 1.08 MiB | C++ |
ztx | 100 | 0.238 s | 17.79 MiB | C++ |
0 | 100 | 0.252 s | 1.07 MiB | C++ |
Dissolute丶Tokgo | 100 | 0.260 s | 0.95 MiB | C++ |
0 | 100 | 0.260 s | 1.07 MiB | C++ |
diyonglin | 100 | 0.260 s | 3.69 MiB | C |
啊啦吧啦吧啦 | 100 | 0.267 s | 1.07 MiB | C++ |
啊啦吧啦吧啦 | 100 | 0.268 s | 1.07 MiB | C++ |
啊吧啦吧啦吧 | 100 | 0.276 s | 1.05 MiB | C |
forever | 100 | 0.315 s | 1.07 MiB | C++ |
本题关联比赛 | |||
20131026 | |||
20131026 | |||
EYOI常规赛9 3/4th |
关于 zwei 的近10条评论(全部评论) | ||||
---|---|---|---|---|
看到题目,我想起了$Ayachi$ $Nene$说过的一句话:私のオナニーを見て下さいっ
| ||||
z……wei?!
+1s
2017-08-24 14:49
19楼
| ||||
树状数组1A(我知道我之前WA但那些都是线段树(误)。
异或有一个很好玩的性质,a^b=c,则c^a=b,利用这个性质我们首先可以把树状数组的update函数写出来,遍历父节点,将父节点先异或上原来的值再异或上修改后的值。(等价的方法是,先计算出旧值和新值的疑惑结果w,再把父节点都异或上w) 求和时,可以用树状数组高效求前缀异或和。异或满足这样的性质:若A=a1^a2^a3^....^an,B=a1^a2^a3....^am(m<n),则A^B=a(m+1)^a(m+2)^....^an。利用这个性质我们就可以方便地像用树状数组求区间加和一样求异或和了。 我对这个性质的蒟蒻解(xia)释(che)如下: 不妨将一个数的二进制表示视作具有两种含义: 1.一串连续排列的灯泡的状态(0:关 1:开) 2.对一串连续排列灯泡的一串操作(0:不按开关1:按一下开关) 一个数异或上另一个数相当于对一个灯泡序列执行一个操作序列(或者将两个操作序列合并成一个等价的操作序列)。 很显然,异或满足结合律。同样很显然,对一个灯泡序列执行两次同样的操作序列会得到原来的灯泡序列。对于多个“序列”(也就是多个数的异或和),这结论也适用。于是就解释通了(?)。(我这扯得都是啥) | ||||
数组开小了QAQ果然是看了40%的数据@TCtower
| ||||
真的是C++
| ||||
我其实是打C++的
| ||||
水死人的位运算,异或异或和,去你的。。
stone
2015-06-14 10:40
14楼
| ||||
回复 @♔ saber :
学长...
0
2015-06-12 08:03
13楼
| ||||
线段树哦 >_<
| ||||
|