自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 01背包问题-队列分支限界法-C++

给定n种物品和一个背包。物品i的重量是wi,其价值为vi,背包的容量为C。问应如何选择装入背包中的物品,使得装入背包中物品的总价值最大?对于给定的n种物品的重量和价值,以及背包的容量,计算可装入背包的最大价值。

2024-07-05 10:43:25 746

原创 最小权顶点覆盖问题-优先队列分支限界法-C++

要采用优先队列来求解该问题,对于堆中的每一个节点,都有一个目前所选的点的集合,我们需要维护那些已经被选入U集合的点,同时维护当前的点权和,这样每次我们都从堆中选出当前扩展出的节点中点权和最小的一个来扩展,特别的,当点权相同时,我们通过判断当前覆盖集的大小来选择覆盖集大的来扩展。因为我们采用的是优先队列来查找,我们的目标只是求出一个解,每次从堆中选出的节点都是当前的所有扩展出节点中点权和最小的一个,如果当前节点的状态已经实现了覆盖,那么说明当前已经是最优解了,我们可以直接返回结果。否则继续进行下一步搜索。

2024-07-05 10:37:28 896

原创 N皇后问题-分支限界法-c++代码

【代码】N皇后问题-分支限界法-c++代码。

2024-06-28 23:17:02 82

原创 Spring Data Redis操作Redis

Spring Data Redis 是 Spring 的一部分,对 Redis 底层开发包进行了高度封装在Spring项目中,可以使用Spring Data Redis来简化操作。

2024-02-08 11:15:22 214

原创 Redis的一些基础命令

Redis是一个基于内存的 key-value 结构数据库基于内存存储,读写性能高适合存储热点数据(热点商品、资讯、新闻)企业应用广泛字符串 string:普通字符串,Redis中最简单的数据类型哈希 hash:也叫散列,类似于Java中的HashMap结构列表 list:按照插入顺序排序,可以有重复元素,类似于Java中的LinkedList集合set:无序集合,没有重复元素,类似于Java中的HashSet。

2024-02-08 11:13:53 362

原创 spring boot具体开发案例 笔记

controller层叫控制器层,负责前后端交互,接受前端请求,调用service层,接收service层返回的数据,最后返回具体的页面和数据到客户端。service层叫业务逻辑层,存放业务逻辑处理,不直接对数据库进行操作,有接口和接口实现类,提供controller层调用的方法。描述模块的功能通常使用复数,也就是加s的格式来描述,表示此类资源,而非单个资源。查看页面原型确定需求——阅读接口文档——思路分析——接口开发——接口测试——前后端联调。REST是风格,是约定方式,约定不是规定,可以打破。

2024-01-31 11:09:05 1036

原创 Spring boot事物管理&AOP 笔记

Spring AOP为IoC的使用提供了更多的便利,一方面,应用可以直接使用AOP的功能,设计应用的横切关注点,把跨越应用程序多个模块的功能抽象出来,并通过简单的AOP的使用,灵活地编制到模块中,比如可以通过AOP实现应用程序中的日志功能。另一方面,在Spring内部,一些支持模块也是通过Spring AOP来实现的,比如事务处理。连接点(join point):对应的是具体被拦截的对象,因为Spring只能支持方法,所以被拦截的对象往往就是指特定的方法,AOP将通过动态代理技术把它织入对应的流程中。

2024-01-31 11:01:45 863

原创 Spring boot配置文件类型及阿里云OSS配置

- 大小写敏感- 数值前必须有空格作为分隔符- 使用缩进表示层级关系,缩进时只允许使用空格- 缩进的空格数目不重要,只要相同层级的元素左对齐即可- #表示注释

2024-01-30 14:07:12 433 1

原创 Spring boot关于登录功能实现(过滤器、拦截器)笔记

定义配置类,并让它实现WebMvcConfigurer接口,在接口的addInterceptors方法中,注册拦截。会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,以便在同一次会话的多次请求间。会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。实现handlerInterceptor接口,从三个方法中选择合适的方法,实现拦截时要执行的具体业务逻。如果是对所有的请求(如访问静态资源的请求)进行拦截,则可以使用Filter。

2024-01-30 11:21:56 1259 1

原创 Mybatis笔记

使用Mvbatis的注解,主要是来完成一些简单的增删改查功能。如果需要实现复杂的SOL功能,建议使用XML来配置映射。:用于判断条件是否成立。使用test属性进行条件判断,如果条件为true,则拼接SQL。:where元素只会在子元素有内容的情况下才插入where子句。解决方案二:@Results,@Result注解手动映射封装。新增(主键返回):数据添加成功后返回主键的id。>:通过属性refid,指定包含的sql片段。:动态的在行首插入set关键字,并且。>:定义可重用的sql片段。

2024-01-25 14:44:37 932

原创 Ubuntu中go环境配置

使用wget命令在官方网站选择对应的压缩包进行下载使用tar命令解压缩-v-x-f-f-zgzip-ztarball-C最后面加入以下内容命令立即生效环境变量envecho $变量名~/.bashrc。

2023-07-31 15:03:27 1250 1

原创 linux学习笔记

which:查找命令的程序文件所在的位置:搜索指定的文件语法1:nkMG:获得管理员权限sudo -i也可以ls -lh:列出文件并显示文件大小grep:从文件中通过关键字过滤文件行关键字文件路径-m-l-w文件路径:管道符,左边的结果作为右边的内容源重定向符>>-num路径chmod-R参数是把文件目录下所有文件的权限都修改chownchmod用户用户组。

2023-07-29 18:30:48 65

原创 linux一些命令

参数是把文件目录下所有文件的权限都修改。:管道符,左边的结果作为右边的内容源。:从文件中通过关键字过滤文件行。:列出文件并显示文件大小。

2023-07-28 18:31:38 60 1

原创 go学习笔记

它允许开发人员将Go数据结构编码为JSON格式的字符串,或者将JSON格式的字符串解析为Go数据结构,以方便在Go程序中操作和处理JSON数据。布尔类型的直接判断:在Go语言中,条件表达式的结果必须是布尔类型(true或false),而不像C语言那样,可以由非零值和零值来表示真假。go的switch和C语言类似,但是比C更牛逼一些,没有类型要求,不需要加break,就像是简洁版的if-else语句。在Go语言中,如果在if语句中定义了变量,则该变量的作用域仅限于if语句的代码块内部。

2023-07-25 19:55:18 53

原创 markdown中的数学公式

使符号大小与临近公式相适应(适用于所有语句),如。定义函数的时候经常需要分情况给出表达式,用。,如果不是单个字符,可以用花括号括起来。如果想分类之间的垂直间隔变大,可以用。区别是行内是一个$间隔,行间是两个。有时候需要将一行公式分多行进行显示。作用于后面两个组a,b,结果是。之间加入矩阵中的元素。可以在这些运算符前加上。区别是点的位置不同,这种形式表示矩阵,在。根据前面括号的用法用。

2023-07-23 11:09:34 381 1

原创 git学习笔记

git学习笔记。

2023-07-21 00:44:26 45 1

原创 乘法逆元(费小定理)

左右一定不等,因为左边不是p的倍数,矛盾。的最终结果一定是等于序列。互质,且满足同余方程。由乘法逆元的定义可知。

2023-07-18 19:32:58 56 1

原创 基于docker创建ubuntu:22.04容器并实现ssh连接

首先需要确保服务器上有docker并有相关的镜像第一次学linux自己摸索的,可能有问题,请及时指出。

2023-07-09 15:07:08 588 1

原创 ST表,二进制优化区间查询

分别是区间[i,i+2^(j-1)-1]和区间[i+2^(j-1),i+2^(j-1)+2^(j-1)-1]也基于用二进制优化,用于求解RMQ问题,也就是区间最值询问进行O(1)的解决。可以假设l+2^k-1=r,求解k可以得到k=log2(r-l+1);max(f[l][k],f[r-(1<<k)+1][k])即可。对于log2,我们可以进行预处理,也可以直接调用函数。fij 表示从区间[i,i+2^j-1]的最大值。预处理转移方程f[i]=f[i/2]+1。

2023-04-20 07:54:08 62

原创 匈牙利算法

在进行匈牙利算法模拟的时候,我们可以选择任意一组进行枚举,对于组内的每一个点,我们用dfs搜索他在另一组中的匹配点,一旦找到就返回匹配成功,对于这组数据,首先是1和5匹配,但在2寻找匹配时发现,5已经匹配过了(通过另开一个match数组来保存组二中各个点的匹配点),这样就可以模拟去find(match[x]),来寻找下一个点,于是会从1中去找下一个未匹配的点(match[x]=0),如果找到就将原先match[x]的匹配点给到另一个点,当前2所匹配到的5就可以进行匹配,然后进行下一个点的匹配。

2023-04-19 17:15:32 73

原创 倍增LCA

(对于j的枚举似乎是可以使用预处理log2进行优化,但是由于这个j枚举的是指数级别的,也就是从20左右向下枚举,所以一般作用应该不大)首先是自动至同一级,也就是将x向他的祖先上自动,根据d[i]数组,当d[f[x][j]]>=d[y]时就进行转移。否则,对x,y进行同时的转移,直到f[x][j]=f[y][j](x,y的j级祖先是相同的)也就是说i的第2^j级祖先等于从i的2^(j-1)级祖先的2^(j-1)级祖先。预处理f[i,j]=f[f[i][j-1]][j-1]从小到大会变成1+2+4+?

2023-04-19 08:54:37 89

原创 维护单调队列(滑动窗口

【代码】维护单调队列(滑动窗口。

2023-02-25 08:46:16 51

原创 一维二维差分

【代码】一维二维差分。

2023-02-23 17:34:14 31

原创 单源最短路——spfa

【代码】单源最短路——spfa。

2023-02-22 14:28:42 49

原创 单源最短路——堆优化dijkstra

【代码】单源最短路——堆优化dijkstra。

2023-02-22 13:04:43 49

原创 单源最短路——朴素dijkstra

【代码】单源最短路——朴素dijkstra。

2023-02-22 12:28:37 37

原创 简单博弈论

【代码】简单博弈论。

2023-02-22 10:22:18 43

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除