- 博客(43)
- 收藏
- 关注
原创 【数学建模】评价类模型:优劣解距离法
本博客为清风数学建模课程的跟学笔记,关注微信公众号"数学建模学习交流"获取更多优质资料层次分析法(AHP)的局限性:决策层不能多,否则导致判断矩阵和一致性矩阵差异很大;若题中给出明确的数据,层次分析法显得主观臆断三点解释:比较的对象一般要远大于两个比较的指标也往往不只是一个方面的,例如成绩、工时数、课外竞赛得分有很多指标不存在理论上的最大值和最小值,例如衡量经济增长水平的指标:GDP增速。
2024-08-02 15:50:25
1294
原创 【C++算法模板】KMP算法:字符串匹配算法
在做模式串与文本串的匹配问题时,匹配失败时,如果每次都只向后递进一位,时间复杂度为O(n+m),很容易被卡成O(m×n),所以为了降低字符串匹配算法的时间复杂度,对模式串中的每一位,设置唯一的特定变化位置,这个在失配之后的特定变化位置可以帮助我们利用已有的数据不用从头匹配,从而节约时间用ne数组记录到它为止的模式串前缀的真前缀和真后缀最大相同的位置
2024-04-14 10:15:13
1233
原创 【C++算法模板】背包九讲(下):混合背包、二维费用背包、带依赖的背包、背包求方案数、背包求具体方案
【代码】【C++算法模板】背包九讲(下):混合背包、二维费用背包、带依赖的背包、背包求方案数、背包求具体方案。
2024-04-14 10:11:19
1240
原创 【C++算法模板】背包九讲(上):01背包、完全背包、多重背包
如果按照类似于完全背包从状态转移方程式入手的角度来优化是不可行的,因为完全背包问题不会多最后一项出来,多了一个。背包,再通过二进制优化的方式把从枚举。的判定条件,最后一项会因为超出了。
2024-04-11 22:11:45
1423
2
原创 【C++算法】线性DP详解:数字三角形、最长上升子序列、最长公共子序列、最长公共子串、字符串编辑距离
【代码】【C++算法】线性DP详解:数字三角形、最长上升子序列、最长公共子序列、最长公共子串、字符串编辑距离。
2024-04-11 22:09:56
2289
原创 【C++算法】任意进制转换为十进制、十进制转换为任意进制模板详解(最高三十六进制)
【代码】【C++算法】任意进制转换为十进制、十进制转换为任意进制模板详解(最高三十六进制)
2024-04-09 20:48:44
1171
原创 【C++算法】深度优先搜索详解,入下回离,附带三道例题详细注释
深搜是通过系统栈实现的,递归调用的过程,系统自动通过栈去维护函数的状态空间,系统栈记录函数返回地址、局部变量、参数传递等,向下走,是压栈的过程;向上走,是出栈的过程
2024-03-26 19:59:30
901
原创 【C++算法】洛谷P1102:A-B数对,思路,lower_bound,upper_bound,二分答案,代码详解
* 这道题要求我们在序列中找到 $A-B=C$ 的数对的个数,下标不同的数对算作不同的数对* 如果采用常规做法就是两层循环,每个数字依次作为 $B$ ,在从其之后的元素选出元素与之相减,看得到的结果是不是 $C$,是的话 $ans++$ ,这是枚举的做法* 我们不妨换一个思路,既然我们枚举每个数字作为 $B$,那么B就是确定的,**题目中的 $C$ 也是确定的,$A-B=C$ 问题,我们就可以转换为 $B+C=A$ 问题,对于每一个数字 $B$,我们在其之后的元素中,去找有多个元素恰好比 $B$ 大 $
2024-03-24 11:02:34
1233
原创 【Vuex】Vuex详解,一篇文章搞懂Vuex详细使用过程和代码编写
实现组件全局(数据)管理的一种机制,可以方便的实现组件之间共享数据,不同于上述三种传递值的方式。可以把vuex当成一个store仓库,可以集中管理共享的数据,并且存储在vuex中的数据都是响应式的,数据与页面同步。一般情况下,只有组件之间共享的数据,才有必要存储到vuex中;对于组件中的私有数据,依旧存储在组件自身的data中。
2024-03-22 12:19:16
10730
原创 【C++算法】二分算法、二分模板详解,四道例题带详细注释
第一次出现,求第一个大于等于/大于/小于/小于等于某个数的数,求解最小值,说明答案在左边,用第一个模板。最后一次出现,最后一个大于等于/大于/小于/小于等某个数的数,求解最大值,说明答案在右边,用第二个模板。题目中出现求最值,首先想到二分/贪心/动态规划等算法。题目具有单调性,则可以考虑用二分求解。题目链接:[P1873。
2024-03-22 11:18:34
3486
原创 【ES6】其一:let和const、模板字符串、剩余参数、扩展运算符、箭头函数、解构赋值
ECMAScript 6.0(以下简称 ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了,使得 JavaScript 语言可以用来编写复杂的大型应用程序ES6为了解决ES5语言的先天性不足,比如变量提升、内置对象的方法不灵活、模块化实现不完善等等;同时ES6的出现为了后面vue、尤其是react框架做好了准备;目前大部分公司的项目都在使用es6建议在默认情况下使用const,只有知道变量值需要被修改的情况下用let,const比let用得更多。
2024-03-21 09:30:24
406
原创 【SSM】其二:Mybatis逆向工程-Mybatis_mbg
逆向工程mbg:根据数据库中表的信息由框架根据数据库反向生成:Java实体类、Mapper接口、Mapper映射文件mybatis-X 插件可以根据表格生成Java实体类、Mapper接口、Mapper映射文件和Service接口和Service实现类,以后再补充。
2024-03-18 09:33:33
1087
原创 【SSM】其一:创建Maven项目、Mybatis基础、常用依赖、Mybatis完整案例
新建JAVA工程,创建Maven模块;项目创建成功后在pom.xml中更改打包方式,添加相关依赖;在坐标pom.xml中将配置打包方式更改为jar包;继续添加依赖,包含mybatis核心jar包、junit测试、mysql驱动等;
2024-03-18 09:32:10
1032
原创 【C++算法模板】预处理算法:一维前缀和、二维前缀和总结,详解带例题
因为前缀和这个板子的推导比较简单,因此本博客重点在于知识点归纳而不在于证明
2024-03-17 12:28:40
1602
原创 【C++算法模板】图论-拓扑排序,超详细注释带例题
给定一张有向无环图,排出所有顶点的一个序列A满足:对于图中的每条有向边(x,y),其中x在A中都出现在y之前,则称A是该图的顶点的一个拓扑序拓扑排序 可以判断有向图中是否有环,可以生成拓扑序列对于下图,2351746和3215764都是合法的拓扑序【C++算法模板】图的存储-邻接表,手撕链式前向星,超详细代码注释-CSDN博客。
2024-03-15 21:04:24
1450
原创 Uni-app跟学笔记(五):uni-ui组件库的使用、项目打包(小程序、h5、APP)
同样在manifest.json中进行配置,基础配置到web配置之前都是App的配置,我们一个一个看。导入,再注册,然后直接uni-goods-nav引用即可。打印事件会发现,区分加入购物车和立即购买在于index。商品导航栏的(加入购物车/立即购买) 商品导航栏的(客服/店铺/购物车)基础配置,配置APP的基础描述信息。其他几个配置视情况而定。 商品底部导航栏。
2024-03-15 16:21:35
1868
原创 【C++函数速查】lower_bound和upper_bound使用方法详细解读
lowerbound和upperbound都是基于二分查找在一个排好序的数组或容器(如vector、list、set)中进行快速查找的函数,位于algorithm标准库中,由于采用二分查找,所以函数的时间复杂度是O(log_2^n)。
2024-03-15 08:07:30
7067
3
原创 【C++算法模板】字典树,超详细注释带例题讲解
字典树是快速插入和查询字符串的多叉树结构,根节点编号为0,其余节点标识路径,还可以标记单词插入的次数,边表示字符。
2024-03-14 23:38:31
1251
1
原创 【C++算法模板】字符串哈希,超详细注释带例题
字符串哈希即把不同的字符串映射成不同的整数把字符串映射成一个p进制数字,对于一个长度为n的字符串s,定义其HashHashHash函数为:$ h(s)=\sum_{i=1}^n s[i]×p^{i-1}(mod M)$
2024-03-12 22:16:32
3448
3
原创 【C++函数速查】字符数组/字符串大小比较 strcmp、compare、字符串按数值比较技巧详解
以字符形式存储到字符数组/字符串中,现在要比较这两个字符数组/字符串的大小关系如果直接使用前文的比较方法。如果在字符数组/字符串中按下标对其的话又略嫌麻烦,显然是想让。的情况下)返回长度更长的那个数字,当长度相等的时候直接用。开始存储,这个时候我们可以(在没有前导。码逐位比较就会出问题),因为。比如现在有两个数字,
2024-03-11 09:58:12
6901
原创 Uni-app跟学笔记(四):图片API、跨端兼容、组件注册、组件通信
图片预览的API是uni.previewImage,其参数如下,注意:某些参数的设置只能在APP上起作用,如loop(循环预览)、indicator(图片下方划动的指示器等)2)跨端兼容在uni-app中使用特殊的注释作为标记,在编译时,根据这些特殊的注释,将注释中的代码编译到不同平台写法:以 #ifdef 加平台标识 开头,以 #endif 结尾(梦回STM32/C++)3)导航跳转有两种跳转方式,声明式(利用组件)和编程式(利用API)下面案例的注释非常详细,需要
2024-03-10 23:25:12
1155
1
原创 【C++算法模板】图的存储-邻接矩阵
邻接矩阵相比于上一篇博客邻接表的讲解要简单得多1. 数据结构,如果将二维数组 g 定义为全局变量,那默认初始化应该为 0 ,如果题目中存在自环,可以做特判,memset 初始化数组 g 为 0x3f3f3f3f 表示无穷大,0 表示自环 2. 以下模板是无向图的邻接矩阵模板,如果改成有向图,和邻接表一样,不需要对称建边,比如有一条边是 (1,3)
2024-03-09 12:02:31
1041
原创 【C++算法模板】图的存储-邻接表,手撕链式前向星,超详细代码注释
1. 模板采用的是无向图,所以最大边数 M 开到了题目所给最大边数的两倍,如果是有向图,那么在建边的时候,只需要建一次即可,比如 a 到 b 有一条边,那么只需要 add(a,b) ,不需要 add(b,a) 对称建边2. 链式前向星(也称数组模拟邻接表)的数据结构为:
2024-03-09 11:30:43
1032
1
原创 【C++算法】贪心算法-区间问题,超详细注释例题讲解
贪心策略:新建一个结构体存储区间的左端点和右端点,将这N个区间按照右端点从小到大排序,遍历所有的区间,如果当前遍历到的区间左端点的值大于了上一个区间的右端点的值,说明此时区间没有重合,则区间个数+1
2024-03-08 20:55:50
1845
1
原创 Uni-app跟学笔记(三):样式、Vue基础、请求、数据缓存
生命周期的概念:一个对象从创建、运行、销毁的整个过程被成为生命周期生命周期函数:在生命周期中每个阶段会伴随着每一个函数的触发,这些函数被称为生命周期函数。
2024-03-08 17:09:59
934
1
原创 Uni-app跟学笔记(二):组件
ui-app为开发者提供了一系列基础组件,类似HTML里的基础标签元素,但un-app的组件与HTML不同,而是与小程序相同,更适合手机端使用。虽然不推荐使用HTML标签,但实际上如果开发者写了div等标签,在编译到非H5平台时也会被编译器转换为view标签,类似的还有span转text、a转avigator等,包括css里的元素选择器也会转。但为了管理方便、策路统一,新写代码时仍然建议使用view等组件。开发者可以通过组合这些基础组件进行快速开发。
2024-03-07 20:12:48
657
原创 Uni-app跟学笔记(一):新建项目、运行、tabbar、全局配置
本博客是uni-app课程的跟学笔记(一),目的是便于个人复习和对知识快速索引,源码素材可在均可在视频评论区找到。
2024-03-07 15:37:18
1064
原创 【C++算法】桶、桶排序、map详细讲解,带例题和详细注释
当数组中每个元素的大小范围给定时并且不超过空间限制时,用该数组的下标或下标+偏移量映射为该值的大小,数组的值表示该数字出现的次数的数据结构,优点:有效提高数据的访问效率和处理速度,缺点:必须知道每个元素的大小范围并且能够映射到[0,N]才可以使用
2024-03-06 13:46:04
1813
原创 【C++算法】离散化模板代码,超详细注释附带例题
上篇博客我们介绍了桶结构,假设现在给我们一个序列,数据范围是−109109−109109,显然我们是不能再用一个数组来存的所以现在需要做的就是把大范围的数据映射到小范围数据,如:将−123456789-123456789−123456789映射到555,那么a5−123456789a5−123456789,统计的时候直接cnt3cnt[3]++cnt3即可,这便是离散化怎么快速的映射,并且让映射的数字相互之间不冲突?
2024-03-06 13:43:03
1660
1
原创 【C++算法】递推(斐波那契、上台阶问题)代码详解
例题来自于信奥一本通1188、1189、1190,C++实现递推算法-斐波那契数列、线性动态规划算法-上台阶问题,详细讲解,附带源码
2024-03-06 13:41:15
1978
原创 [保姆级教学]使用Vue ui创建一个完整的vue项目
通常来说常选泽:Babel(默认必选)、Router(路由)、Vuex(一种实现组件之间数据共享的技术)、Linter(默认必选)、config。1. 安装本地 node_modules 文件夹中的依赖项:npm install。随后用VSCode打开项目文件,可以在vue ui的Tasks栏下打开项目的服务。首先在cmd中输入vue ui指令以在本地打开vue ui页面。进入详细的项目配置界面,初始化Git仓库非必选,看个人需求。在Output中找到项目的本地地址并打开,进入到vue项目管理器。
2024-01-13 22:30:41
2618
1
原创 【Python】秒解汉诺塔问题
当n=2时,先把前n-1个盘子,即第一个盘子从i(原始柱)移动到另一根柱(6-i-j),再把第n个盘子从i(原始柱)移动到j(目标柱),再把n-1个盘子从6-i-j(另一根柱)移动到j(目标柱)当n=1时,直接将盘子从i(原始柱)移动到j(目标柱)
2023-01-10 08:26:35
220
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人