Today I Learn 2022

1.1

XOR hash

\(n\)个随机的64位整数(即\([0, 2^{64} - 1]\)范围内的整数)的异或和为零的概率是 \(1/2^{64}\),与 \(n\) 无关。一般地,对于一个固定的64位整数 \(k\)\(n\) 个随机的64位整数的异或和等于 \(k\) 的概率是 \(1/2^{64}\),与 \(n\)\(k\) 都无关。这个结果是 XOR hash 的依据。

简化约束条件(Reduce Constraints)

序列 \(a_1, a_2, \dots, a_N\) 满足,对于每个 \(k = 2, 3, \dots, N\),序列 \(a\) 中的任意 \(k\) 个连续的数之和都大于等于零。这些约束条件等价于任意 \(2\) 个连续的数之和都大于等于零且任意 \(3\) 个连续的数之和都大于等于零。

1.2

一般情况下需要用数据结构解决的问题,如果问题规模较小则可以暴力求解。当考虑用数据结构时,先看看问题的规模有多大,能否暴力求解。

高斯消元法的高效实现。高斯消元和高斯-约当消元不是同一个东西。

1.9

__builtin_clzll(0) is Undefined Behavior. https://stackoverflow.com/q/45107728/6793559

1.17

【来自 abc235_g Gardens】
一个关于组合数求和的递推式。
\(N, M\) 是非负整数,令 \(f_M(N) = \sum_{i = 0}^{\min(M, N)} {N \choose i}\)\(f_M(N)\) 满足递推式

\[f_M(N + 1) = 2 f_M(N) - {N \choose M} \]

1.18

用 CLion 写代码时一定要保证大括号({})是匹配的,不然大括号自动补全会错乱。

1.23

std::array<T, N> is an aggregate type with the same semantics as a struct holding a C-style array T[N] as its only non-static data member.

作为局部变量的 std::array,如果不 explicitly 初始化,那么它的值是unspecified 的。

posted @ 2022-01-02 01:08  zjs22  阅读(60)  评论(0)    收藏  举报