题目把Nim游戏为什么可以取异或和讲解得十分清楚,建议多读几次,理解一下 再一个,可以把每次异或视为一次取数,因此(k[i]^sg)<k[i]即为一种可行操作 /* Nim is a 2-player game featuring several piles of stones. Players a ...
分类:
编程语言 时间:
2020-02-20 13:10:16
阅读次数:
76
"Link" Multi SG模板题。 设$sg_u$为$u$子树的SG函数值,$S_u$为$u$到删除根节点的路径之后剩下的游戏的SG函数值的异或和。 根节点的$S$就是它所有子树的SG函数值的疑惑和。 在求出$S_u$之后,它的所有儿子$v$的$S_v$需要异或上$S_u\oplus sg_v$ ...
分类:
其他好文 时间:
2020-02-12 22:08:18
阅读次数:
76
大概没你们说得复杂吧...... $Part\;1$ $Nim$游戏 大家都对异或和感到懵逼吧(排除大佬),其实很简单,用$SG$函数~~打表~~计算即可解决: 抛个板子: 都看了,没个赞不好吧,大佬你觉得呢? ...
分类:
其他好文 时间:
2020-02-12 22:06:13
阅读次数:
77
给出n和n个数,求异或和为0的子段个数 "传送门" 设a[i]为输入的数 b[i]为异或前缀和 b[i] = a[1] ^ a[2] ^ ... ^ a[i 1] ^ a[i] 已知一个数x^y = 0当且仅当x == y时成立 那么对于一段[1,r]来说,异或前缀和为b[r],那么如果想要以r为异 ...
分类:
其他好文 时间:
2020-02-11 19:02:08
阅读次数:
99
Description: 给定括号树,每个节点都是 或 ,定义节点的权值为根到该节点的简单路径所构成的括号序列中不同合法子串的个数(子串需要连续,子串所在的位置不同即为不同。)与节点编号的乘积,求所有节点权值的异或和。 Solution: 闻到一股深深的 气息。 "懒得写了" Code: ...
分类:
其他好文 时间:
2020-02-06 10:30:26
阅读次数:
77
POJ-3495 题解: #include <iostream> #include<algorithm> #include <cstdio> #include <cstdlib> #include <cstring> #include <queue> #define INF 0x3f3f3f3f # ...
分类:
其他好文 时间:
2020-01-31 00:34:17
阅读次数:
80
线性基 概述 线性基,是一个线性空间(二元运算为异或)的极大线性无关子集 用于解决一系列集合异或和最值问题 注意与Trie树区别在于可以多个 性质 1.表示任意一个异或和方式唯一 2.所有子集异或和不为0 3.线性基内高位各不相同 4.$tot$个位置可以表示$2^{tot}$种异或和 实现 先做一 ...
分类:
其他好文 时间:
2020-01-30 10:04:09
阅读次数:
80
[AcWing143] 最大异或和 [字典树] "传送门" 题意 给出N个整数,选择两个整数,使得异或和最大($0 i & 1;`可以直接取二进制数的任意一位,这样简单了许多。 查询的时候,先取出对应位的二进制数,在树中先走该二进制数的对立面,如果对立面不存在,再沿着该二进制数向下走一层。 Code ...
题意: 找出树上异或和最大的一条路径$p$ $$ _{xor}length(p)=\oplus_{e\in_p}w(e) $$ 01字典树。同样用到了简单的异或性质 $0\oplus a = a, a\oplus a = 0$ 定义$f(u,v)$为$u$到$v$的路径异或和。那么$f(u,v) = ...
分类:
其他好文 时间:
2020-01-22 20:12:45
阅读次数:
64
http://poj.org/problem?id=3764 题意:求上任意两点的边权异或最大值。 解法:dfs遍历树的同时将异或值加入01字典树中,同时查询最大异或值。 这样为什么就能保证你所求的结果对应的路径是连续的呢?考虑三种情况: 1.深搜的两条路径一个包含在另一个中,这样一异或,公共的部分 ...
分类:
其他好文 时间:
2020-01-22 01:20:18
阅读次数:
107