摘要: 组合数 基本做法 先看看不做预处理计算一个组合数: int C(int r, int n) { int ans = 1; for (int i = 1; i <= r; i++) { ans *= n - i + 1; ans /= i; } return ans; } 预处理组合数 针对大多数仅仅 阅读全文
posted @ 2023-12-02 16:16 加固文明幻景 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 位运算实现 swap 异或的性质 \[a \oplus a=0 \]\[a \oplus 0=a \]\[a\oplus b=b \oplus a \]a = a ^ b; b = a ^ b; a = a ^ b; 证明 \[a=(a \oplus b) \]\[b=(a \oplus b) \o 阅读全文
posted @ 2023-12-02 14:33 加固文明幻景 阅读(10) 评论(0) 推荐(0) 编辑
摘要: P1017 [NOIP2000 提高组] 进制转换 负进制也一样用短除法转换,但是余数得保证是正数,不然没法用这个方法。 在求余的过程中加入处理: 如果负数,余数减去一个模数,上一次的商先加上一个模数再去除模数得到本次商。 比如对于 \(10\) 到 \(-2\) 进制的转换。 第一次短除 \(-2 阅读全文
posted @ 2023-12-02 12:50 加固文明幻景 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 原码、反码、补码与 memset 再探 概述 三个计算机用来表达负数的形式。 原码 通过第一位的 \(0\) 来直接表示正数,\(1\) 来直接表示负数。 然而计算机并不用这种方式。 反码 即把要表示的负数的绝对值对应的二进制全部取反来表示。 坏处是 \(0\) 有两种表达方式,全 \(0\) 和全 阅读全文
posted @ 2023-12-02 11:26 加固文明幻景 阅读(15) 评论(0) 推荐(0) 编辑