简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
DP(动态规划)全称DynamicProgramming,是运筹学的一个分支,是一种将复杂问题分解成很多重叠的子问题,并通过子问题的解得到整个问题的解的算法。在动态规划中有一些概念:状态:就是形如dp[il[il=val的取值,其中i,i为下标,也是用于描述、确定状态所需的变量,val为状态值。状态与状态之间的转移关系,一般可以表示为一个数学表达式,转移方向决迭代或递归方向。也就是题目所求的状态,
sort默认使用小于号进行排序,如果想要自定义比较规则,可以传入第三个参数,可以是函数或lambda表达式。int main()//初始化v//对数组进行排序,降序排列//输出++ i)输出:9 5 3 1结构体可以将小于号重载后进行排序,当然用前面的方法也是可行的。//以u为第一关键字,v为第二关键字排序。
概念:递归是指函数直接或间接调用自身的过程。基本情况(递归终止条件):递归函数中的一个条件,当满足该条件时,递归终止,避免无限递归。可以理解为直接解决极小规模问题的方法。递归表达式(递归调用):递归函数中的语句,用于解决规模更小的子问题,再将子问题的答案合井成为当前问题的答案。枚举算法是一种基本的算法思想,它通过穷举所有可能的情况来解决问题。它的基本思想是将问题的解空间中的每个可能的解都枚举出来,
二分法是一种高效的查找方法,它通过将问题的搜索范围一分为二(两边具有明显的区别),迭代地缩小搜索范围,直到找到目标或确定目标不存在。分法适用于有序数据集合,并且每次迭代可以将搜索范围缩小一半。分法本质上也是枚举,但和暴力枚举不同,二分法利用数据结构的单调性减少了很多不必要的枚举,从而极大地提高了效率,一般可以将O(n)的枚举优化到O(logn)。常见的二分类型有:(1)整数二分(2)浮点二分(3)
string是C++标准库的重要组成部分,主要用于字符串处理。使用string库需要在头文件中包括该库string与char[]不同,string实现了高度的封装,可以很方便地完成各种字符串的操作,比如拼接、截取、匹配等等。(1)字符串管理:string封装了字符串的存储和管理。它自动处理字符串的内存分配和释放,避免了手动管理内存的麻烦。(2)动态大小调整:string可以根据需要自动调整字符串的