From 61ec008db48f9d1e74c2c964063b400ceb1f77ac Mon Sep 17 00:00:00 2001 From: Jebearssica Date: Mon, 1 Apr 2024 19:54:26 +0800 Subject: [PATCH] [style]: format --- _posts/2023-12-14-prefix-sum-and-adjacent-difference.md | 2 +- _posts/2023-12-16-binary-operation.md | 1 + _posts/2024-02-22-lambda-expression.md | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2023-12-14-prefix-sum-and-adjacent-difference.md b/_posts/2023-12-14-prefix-sum-and-adjacent-difference.md index e22b427..d20b563 100644 --- a/_posts/2023-12-14-prefix-sum-and-adjacent-difference.md +++ b/_posts/2023-12-14-prefix-sum-and-adjacent-difference.md @@ -106,7 +106,7 @@ for (int mask = 0; mask < (1 << n); ++mask) { > 对于总体时间复杂度的理解, 我们可以认为有 `k` 个元素的状态一共有 `n` 选 `k` 个那么多. {: prompt-tip } -考虑到上述的朴素解法并没有利用到已经计算完毕的前缀和做为缓存, 即我们可以使用动态规划将一个子集和的前缀和的计算由朴素计算转换为状态转移. +考虑到上述的朴素解法并没有利用到已经计算完毕的前缀和做为缓存, 即我们可以使用动态规划将一个子集和的前缀和的计算由朴素计算转换为状态转移. > 为何能够联想到动态规划? 其实能够想到一个集合 `subset` 可能是多个集合的子集. 那么很显然, 这个子集计算的结果能够直接作用在其父集, 类似记忆化 DFS(实际上就是迭代与递归之间的转换). 说点人话, 高维前缀和是由前一维度的已知状态转移而来, 且状态转移的过程中不会有重复. {: prompt-info } diff --git a/_posts/2023-12-16-binary-operation.md b/_posts/2023-12-16-binary-operation.md index 9e20270..57e7c73 100644 --- a/_posts/2023-12-16-binary-operation.md +++ b/_posts/2023-12-16-binary-operation.md @@ -32,6 +32,7 @@ author: Jebearssica ### 位操作 等价于将一个整数视为 32/64 位长的布尔数组(准确来说 bitset), 索引从 0 开始(最低位索引为 0) + * 获取第 n 位: `(a >> n) & 1` * 第 n 位置零: `(a & ~(1 << n))` * 第 n 位置一: `(a | ~(1 << n))` diff --git a/_posts/2024-02-22-lambda-expression.md b/_posts/2024-02-22-lambda-expression.md index 83dd242..b5c6193 100644 --- a/_posts/2024-02-22-lambda-expression.md +++ b/_posts/2024-02-22-lambda-expression.md @@ -89,4 +89,3 @@ lambda 函数主体部分与普通函数或成员函数的主体部分一致, * 函数主体局部声明的变量 * 如果定义在类成员内部, 且 `this` 是捕获的变量, 则可访问类成员 * 静态变量 -