分类: 算法

23 篇文章

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