Browse Tag

数论

Nowcoder 105D Fibonacci 进制 (数论)

Fibonacci 数是非常有名的一个数列,它的公式为 f(n)=f(n-1)+f(n-2), f(0)=1, f(1)=2 。
我们可以把任意一个数 x 表示成若干不相同的 Fibonacci 数的和,比如说 14 = 13+1 = 8+5+1 = 8+3+2+1。
如果把 Fibonacci 数列作为数的位权,即 f(i) 作为第 i 位的位权,每位的系数只能是 0 或者 1 ,从而得到一个 01 串。 比如 14 可以表示成 100001, 11001, 10111 。我们再把这个 01 串看成 2 进制,再转成 10 进制以后就变成了 33, 25, 23 。为了避免歧义,我们将使用最小的那个值 23 。

BZOJ 2115 [Wc2011] Xor (线性基)

考虑一个边权为非负整数的无向连通图,节点编号为 1 到 N,试求出一条从 1 号节点到 N 号节点的路径,使得路径上经过的边权值的 XOR 和最大。
路径可以重复经过某些点或边,当一条边在路径中出现了很多次时,其权值在计算 XOR 和时也要被计算相应多的次数。