自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Reward - 拓扑排序

题目链接:https://vjudge.net/problem/HDU-2647。逆拓扑问题,反向建图,广度优先搜索。

2024-03-14 11:30:31 349

原创 确定比赛名次-拓扑排序

题目链接:https://vjudge.net/problem/HDU-1285。

2024-03-13 20:43:22 294

原创 P1908 逆序对

【代码】P1908 逆序对。

2024-03-11 21:14:38 399

原创 洛谷 P1143 进制转换

思路:将n进制数转为十进制数,再转为m进制数。P1143 进制转换。

2024-03-11 20:50:46 343

原创 链式前向星

前向星(Forward Star)是一种用于表示稀疏图的数据结构,特别适用于存储有向图和无向图的邻接表。前向星的基本思想是将图的边按照起始节点进行分组,每个节点对应一个链表,链表中存储以该节点为起始节点的所有边的终止节点。

2024-03-04 11:56:32 240

原创 背包问题专题-动态规划

求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。每件物品的体积是 vij,价值是wij,其中 i 是组号,j 是组内编号。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。

2023-06-07 22:07:49 838 1

原创 2023省赛 飞机降落(dfs)

看数据量 fact(10) = 3628800. 直接暴力dfs。

2023-06-07 16:19:55 185

原创 2023省赛 岛屿个数(bfs解法)

【代码】岛屿个数(bfs解法)

2023-06-06 22:15:35 173

原创 acwing 染色法判定二分图

【代码】染色法判定二分图。

2023-06-06 12:09:47 88

原创 acwing Kruskal算法求最小生成树

【代码】Kruskal算法求最小生成树。

2023-06-05 22:24:28 184

原创 acwing Floyd求最短路

【代码】acwing Floyd求最短路。

2023-06-03 16:28:11 84

原创 acwing 852. spfa判断负环

【代码】acwing 852. spfa判断负环。

2023-06-03 15:00:08 70

原创 spfa求最短路

【代码】spfa求最短路。

2023-06-03 13:59:31 88

原创 acwing 有边数限制的最短路 (Bellman-Ford算法)

【代码】有边数限制的最短路 (Bellman-Ford算法)

2023-06-03 11:25:44 81

原创 leetcode 2517. 礼盒的最大甜蜜度(二分查找 + 贪心)

的思想体现在:由于元素已经排好序,即从小到大遍历 price 的元素,如果当前糖果的价格比上一个选中的糖果的价格的差大于 mid,则选中当前糖果,否则继续考察下一个糖果。当甜蜜度过大,不足以组出k类糖果;当甜蜜度过大,足以组出k类糖果,但此甜蜜度不是最大值。给你一个正整数数组 price ,其中 price[i] 表示第 i 类糖果的价格,另给你一个正整数 k。礼盒的 甜蜜度 是礼盒中任意两种糖果 价格 绝对差的最小值。返回礼盒的 最大 甜蜜度。,寻找最大符合条件的甜蜜度。

2023-06-01 16:16:47 168

原创 Just a Hook HDU - 1698 线段树(懒标记)

给定 N, Q,代表序列有 N 个元素,他们的初始值皆是 1。接下來 Q 行,每行有三个数字 X, Y, Z,代表将序列中 X 到 Y 的元素值改成 Z。多組测试,第一个数字 T 代表有几组测试。对于每一组测试,第一行会输入一个数字 N (1

2023-05-27 21:29:16 128

原创 HDU- 1166 敌兵布阵 - 线段树

如果Lily把某盆花照料的好的话,这盆花的美观值就会上升,如果照料的不好的话,这盆花的美观值就会下降。有时,Lily想知道某段连续的花的美观值之和是多少,但是,Lily的算术不是很好,你能快速地告诉她结果吗?(2)Sub i j, i和j为正整数,表示第i盆花被照料的不好,美观值减少j (j

2023-05-27 21:06:38 964

原创 leetcode 56. 合并区间

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi]。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。先根据左端点对数组排序,然后迭代合并区间。时间复杂度O(nlogn)

2023-05-25 18:40:46 53

原创 洛谷 P1049 装箱问题- 01背包-动态规划

个物品中,任取若干个装入箱内(也可以不取),使箱子的剩余空间最小。行,每行有一个正整数,表示第。个物品,每个物品有一个体积。

2023-05-22 22:31:34 454

原创 快速幂 -递归/非递归写法

时间复杂度O(logn)

2023-04-20 12:41:19 98

原创 Find a multiple (POJ-2356)

求前缀和 sum[i] = sum[0] + sum[1] + …sum[1] % n, sum[2] % n …sum[n] % n 中。则 (sum[i] - sum[j] ) % n == 0。记为 sum[i] % n == sum[j] % n。即 [i + 1, j] 元素之和 可以被 n整除。否则 sum[i] % n!首先前缀和中有能整除的直接输出。必然有两个相等的 (抽屉原理)

2023-04-19 14:10:06 114

原创 POJ - 1611 并查集

【代码】POJ - 1611 并查集。

2023-03-30 15:58:00 91

原创 22年第十三届A组省赛真题-求和

给定 n 个整数 a1, a2, · · · , an ,求它们两两相乘再相加的和,即 S = a1 · a2 + a1 · a3 + · · · + a1 · an + a2 · a3 + · · · + an-2 · an-1 + an-2 · an + an-1 · an.

2023-03-15 20:34:27 69

原创 回文日期 -蓝桥杯-暴力

也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。给定一个 8 位数的日期,请你计算该日期之后下一个回文日期和下一个 ABABBABA 型的回文日期各是哪一天。第一行表示下一个回文日期,第二行表示下一个 ABABBABA 型的回文日期。

2023-03-13 17:42:31 127

原创 矩阵旋转90° 顺时针&逆时针 - leetcode

【代码】矩阵旋转90° 顺时针&逆时针。

2023-02-28 15:06:38 249

原创 leetcode 1584. 连接所有点的最小费用 -最小生成树

Kruskal算法的时间复杂度为O(ElogE), Kruskal算法适用于边稀疏而顶点较多的图。Prim算法时间复杂度O(|V|^2), 适用于边稠密图 (|E|大)

2022-08-06 12:28:39 92

原创 JWT原理

Java web token(JWT),通过以json形式作为web应用中的令牌,用于在各方之间安全地作为json对象传输。组成部分header头部令牌类型和签名算法,使用Base64编码{ "alg": "HS256", "typ": "JWT"}Payload负载jwt的数据载荷,使用Base64编码{ "exp": 1653580861, "iss": "server-test", "name": "lsz"}Signature签名使用he.

2022-05-27 00:18:48 188

原创 leetcode 数组的度

697. 数组的度虽然是easy题,但其实还是有难度的【easy中的hard】暴力超时func findShortestSubArray(nums []int) int { gMap := make(map[int]int) maxCnt := 0 n := len(nums) for _, v := range nums { gMap[v]++ maxCnt = max(maxCnt, gMap[v]) } ans :=

2022-05-26 19:40:38 80

原创 地址解析协议ARP

文章目录概念工作过程四种情况概念网络层使用的IP地址,但链路层传输数据帧时,最终还是必须使用MAC地址.[有了目的mac地址,链路层就知道下一跳走哪]ARP(address resolution protocol) 的作用就是:用网络层使用的IP地址,解析出数据链路层使用的MAC地址。ARP高速缓存(ARP cache):每一台主机设有一个ARP高速缓存,里面存放有本局域网上的各个主机和路由器的IP地址到MAC地址的映射表. ARP cache每一个地址项目都设置生存时间。凡超过生存时间的项目就从高

2022-05-25 22:33:10 700 1

原创 缓存穿透&击穿&雪崩

文章目录1. 缓存穿透2. 缓存击穿3. 雪崩问题1. 缓存穿透缓存穿透:缓存和数据库中都没有的数据,导致所有的请求落在数据库上,造成数据库短时间内承受大量请求而崩掉。解决方案:缓存空对象布隆过滤器拦截用户合法性校验2. 缓存击穿redis中某个key过期了或根本没有,大量访问使用该key,数据库访问压力瞬时增加解决方案:实时调整,使key不过期加分布式锁第一个请求的线程可以拿到锁,拿到锁的线程查询到了数据之后设置缓存,其他的线程获取锁失败会等待50ms然后重新到缓存取数

2022-05-20 21:47:56 102

原创 MySQL面试题

SQL执行顺序手写SELECT DISTINCT <select_list>FROM <left_table> <join_type>JOIN <right_table> ON <join_condition>WHERE <where_condition>GROUP BY <group_by_list>HAVING <having_condition>ORDER BY <order_

2022-05-18 00:46:22 91

原创 leetcode 相交链表

160. 相交链表哈希表func getIntersectionNode(headA, headB *ListNode) *ListNode { hmap := make(map[*ListNode]struct{}) for headA != nil { hmap[headA] = struct{}{} headA = headA.Next } for headB != nil { if _,ok := hmap[head

2022-05-16 23:52:58 123

原创 缓存一致性问题

文章目录场景可能的方案更新缓存和更新数据库删除缓存和更新数据库推荐方案场景系统使用redis等缓存来提高读性能读请求先读缓存,如果缓存不存在,则从数据库读取,并重建缓存; 同时,写入缓存中的数据,都设置失效时间写请求修改一条数据时,不仅要更新数据库,也要连带缓存一起更新。缓存一致性的重点可能的方案一下几种方案在并发和异常的情况下都会存在不一致问题更新缓存和更新数据库先更新缓存,后更新数据库先更新数据库,后更新缓存缓存利用率低:每次数据发生变更,都「无脑」更新缓存,但是缓存

2022-05-16 12:28:01 120

原创 Go性能调优

文章目录简介排查实战排查cpu排查堆内存排查协程排查互斥锁排查阻塞简介性能调优原则要依靠数据不是猜测要定位最大瓶颈而不是细枝末节不要过早优化不要过度优化性能分析工具pprofpprof是用于可视化和分析性能 分析数据的工具排查实战引入 _ "net/http/pprof"go func() { if err := http.ListenAndServe(":6060", nil); err != nil { log.Fatal(err) }

2022-05-15 22:33:51 305

原创 Go 性能优化

目录评估性能性能优化建议评估性能Benchmarkgo test -bench=. -benchmem性能优化建议slice 预分配内存尽可能在使用make()初始化切片时提供容量信息场景原切片较大,代码在原切片基础上新建小写篇原底层数组在内存中引用,得不到释放建议使用copy替代re-slicemap预分配内存分析:不断向map中添加元素的操作会触发map的扩容提前分配好空间可以减少内存拷贝和rehash的消耗建议根据实际需求提前预估好需要的空间字

2022-05-15 22:21:37 266

原创 Golang GC

文章目录GC一些概念追踪垃圾回收分代GC引用计数GCGo的GC演变Go v1.3之前的标记清除Go v1.5三色标记Go v1.8混合写屏障机制GC一些概念Mutator: 业务线程,分配新对象,修改对象指向关系Collector: GC线程,找到存活对象,回收死亡对象的内存空间Serial GC: 只有一个collectorParallel GC: 支持多个collectors同时回收的GC算法Concurrent GC: mutator(s)和collector(s)可以同时执行​ Co

2022-05-15 00:33:10 332

原创 leetcode 环形链表 II

142. 环形链表 II给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改链表。示例 1:输入:head = [3,2,0,-4], pos =

2022-05-15 00:15:38 225

原创 leetcode 删除链表的倒数第 N 个结点

19. 删除链表的倒数第 N 个结点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]提示:链表中结点的数目为 sz1 <= sz <= 300 <= Node.val <= 1001 <= n <= sz两

2022-05-13 19:03:25 110

原创 进程 线程 协程

进程 线程 协程进程: 进程是一个具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统资源分配和独立运行的最小单位;线程: 线程是进程的一个执行单元,是任务调度和系统执行的最小单位;协程: 协程是一种用户态的轻量级线程,协程的调度完全由用户控制。进程与线程的区别1、根本区别: 进程是操作系统资源分配和独立运行的最小单位;线程是任务调度和系统执行的最小单位。2、地址空间区别: 每个进程都有独立的地址空间,一个进程崩溃不影响其它进程;一个进程中的多个线程共享该 进程的地址空间,一个线程的非

2022-05-13 00:43:19 247

原创 MySQL innodb-行格式

文章目录行格式语法四种行格式COMPACTDYNAMIC和COMPRESSED行格式我们平时都是以记录位单位向表中插入数据的,这些记录在磁盘上的存放形式被称为行格式语法指定行格式的语法create table 表名 (列的信息) row_format=行格式名称;修改行格式的语法alter table 表名 row_format=行格式名称;查看默认行格式mysql> show variables like "innodb_default_row_format";+------

2022-05-13 00:07:21 444

空空如也

空空如也

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

TA关注的人

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