DP:子序列问题
什么是子序列在计算机科学和数学中,子序列(Subsequence)是指从一个序列中删除一些元素(可以是零个或多个),但不改变其余元素相对顺序后形成的新序列。子序列的特点元素的相对顺序保持不变。可以删除零个或多个元素。一个序列的子序列可以为空
如何理解李彦宏说的”不要卷模型,要卷应用
在2024年7月4日于上海世博中心举办的世界人工智能大会上,百度创始人、董事长兼首席执行官李彦宏在产业发展主论坛上发表了一段引人深思的讲话。他呼吁业界“不要卷模型,要卷应用”,强调AI技术从辨别式向生成式的转变,并提醒大家要避免“超级应用陷
【Linux】权限的管理和Linux上的一些工具
权限管理chgrp功能:修改文件或目录的所属组格式:chgrp [参数] 用户组名 文件名常用选项:-R 递归修改文件或目录的所属组示例:可以看见上面的new目录的所属组原本是root,但是用chgrp修改之后就变为了指定修改后的用户。ch
【LInux】基础开发工具
vim命令模式在 Vim 中,有三个主要的模式:命令模式、插入模式和可视模式。命令模式是默认的模式,用于执行命令和移动光标。具体命令:移动光标操作: vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、
Python数据类型(列表)
一、创建列表使用[ ]创建列表,并通过 = 将其赋值给变量使用内置的函数 list(),可以将其它数据类型转换为列表类型代码语言:python代码运行次数:0运行复制a = 'python'list1
【深入C++】二叉搜索树
什么是二叉搜索树二叉搜索树(Binary Search Tree, BST)是一种特殊的二叉树,其每个节点最多有两个子节点,分别称为左子节点和右子节点。BST具有以下性质:左子树的所有节点值都小于根节点的值:即对于每一个节点,其左子树上所有
【深入C++】map和set的使用
C++ 中的容器分类在C++中,标准库提供了多种容器,这些容器可以根据其数据存储方式和功能进行分类。以下是C++中常见容器的分类:1. 顺序容器这些容器按顺序存储元素,适用于需要保持元素顺序的场景。vector: 动态数组,支持快速随机访问
【C++进阶】红黑树
什么是红黑树?红黑树红黑树(Red-Black Tree)是一种自平衡的二叉搜索树,用于保持树的平衡,以确保在最坏情况下基本操作(如插入、删除和查找)的时间复杂度仍为 O(log n)。红黑树的每个节点都包含一个额外的颜色位,即红色或黑色。
【C++进阶】map与set的封装实践
map和set通过观察stl的底层我们可以看见,map和set是通过红黑树实现的。通过观察这些typedef就可以看到,map和set的封装基本都是套用的红黑树的迭代器来封装实现的,所以我们的map和set也可以通过完成的红黑树来进行封装。
【C++进阶】hash表的封装
hash表哈希表是一种数据结构,它通过将键映射到存储桶或槽来快速查找数据。它的核心思想是通过一个哈希函数(Hash Function)将输入数据(键)转换为数组中的索引,以便在常数时间内进行查找、插入和删除操作。哈希表的关键组成部分哈希函数
【C++位图】构建灵活的空间效率工具
在计算机科学中,位图(Bitmap)是一种高效的空间管理数据结构,广泛应用于各种场景,如集合操作、图像处理和资源管理。与传统的数据结构相比,位图通过使用二进制位来表示元素的存在与否,从而显著降低存储空间的消耗。然而,尽管位图的原理简单,其实
【DP解密多重背包问题】:优化策略与实现
什么是多重背包问题?多重背包问题是一个经典的组合优化问题。与标准背包问题不同,在多重背包问题中,每种物品可以选择多个,而不是只选择一次。具体来说,给定一个背包的容量和若干种物品,每种物品有一个重量和价值,目标是最大化在背包中放入的物品总价值
【高效管理集合】并查集的实现与应用
并查集的概念并查集,也称为不相交集,是一种树形的数据结构,用于处理一些不相交集合的合并及查询问题。简单来说,它主要用于处理元素分组的问题。主要操作 查找(Find)确定元素所属的集合,通常返回该元素的根节点。合并(Union)将两个集合合并
【数据结构】图论基础
图的概念图(Graph)是离散数学中的一种重要数据结构,用于描述对象(称为顶点,或节点)之间的关系(称为边)。图可以表示各种事物之间的连接关系,比如网络中的路由器、社交网络中的用户、城市之间的道路等。图的基本概念 顶点(Vertex):图中