二进制 二进制([latex]Binary System[/latex])是一种以 [latex]2[/latex] 为基数的数制,只使用两个数字符号:[latex]0[/latex] 和 [latex]1[/latex], 每个数字称为一个比特([latex]Bit[/latex],[latex]Binary digit[/latex]…
字典树简介 字典树([latex]Trie[/latex],又叫前缀树)是一种 树形数据结构,常用于高效地存储和查找字符串集合。它的核心思想是:公共前缀只存储一次,不同字符串在前缀相同的部分共享路径。 定义 数据结构约定: [latex]tr[u][c]…
背包问题(Knapsack Problem)是经典的动态规划问题之一。它描述的是在容量有限的背包中,选择若干物品放入,使得总价值最大化。 01背包 01背包问题,就是给定 n 种物品,每种物品都有重量和价值,每种物品都只有一个。 求最大价值 题目链接:2. 01背包问题 - AcWing题库 …
1.Vacations 链接:https://codeforces.com/problemset/problem/698/A 思路: 定义 [latex]dp[i][j][/latex] 为第 [latex]i[/latex] 天为 [latex]j[/latex] 时前 [latex]i[/late…
ranges 和 views 简介 ranges std::ranges 是 C++20 引入的一个新库,它将“范围(range)”作为一等公民。一个 range 是任何可以迭代的对象,比如数组、容器、生成器等。 它提供了类型安全、更简洁的算法接口,例如…
概念 数学期望(Mathematical Expectation),也叫均值(Mean)、期望值(Expected Value),是概率论中的一个核心概念。它描述的是在大量重复试验下,随机变量的平均值。 生活中我们经常无意中用到期望的思想。比如你每天上班的路程可能遇到两种情况: 不堵车:[latex]20[…
摘要 “全区间函数值求和”是一个常见的算法模式:给定数组 [latex]a[1..n][/latex],我们要对所有子数组 [latex][L, R] (1 ≤ L ≤ R ≤ n)[/latex] 计算某个函数 [latex]f(L, R)[/latex] 的值,并把它们相加,求: [latex]\…
前缀和(Prefix Sum) 是一个经典而高效的技巧,常用于快速查询数组区间和、处理计数类问题、解决某些离散数学性质问题。 一维前缀和 一维前缀和是指一个数组中从第一个元素开始,到当前位置的所有元素之和所构成的新数组。 &nbs…
一、整数与自然数 整数: 包括正整数、负整数和 [latex]0[/latex]。比如:[latex]-2, -1, 0, 1, 2…[/latex] 自然数: 从 [latex]0[/latex] 开始的正整数。 二、奇数与偶数 偶数: &…
定理描述: 算术基本定理(Fundamental Theorem of Arithmetic)也称为“素数唯一分解定理”,是数论中的一条基本且核心的定理。它的内容可以分为两个部分:存在性和唯一性。 公式: 任意整数 [latex](n>1)[/latex] 可以写成: …