自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Johnson

hdisij]sw0dishwhu−hv]Vdisuv−huhv]O((VElog2​VVE。

2024-08-17 20:30:47 451

原创 最短路计数

算法流程:在最短路算法中另设置一个。数组用于计数最短路,并将源点的。

2024-08-16 17:58:38 245

原创 堆(优先队列)

堆是一种在频繁插入删除情形下,仍能高效获取序列最值的数据结构。堆顶为树根,始终保持所有元素的最优值。堆总是一棵完全二叉树,称为,因此其存储结构中定位其子节点无需left和right。堆可分类为大根堆、小根堆。在堆中的任意节点,其总=(小根堆,greater)其父节点的值。下面以小根堆为例。

2024-08-13 17:44:34 725

原创 SPFA

基于队列优化的Bellman-Ford特点:单源最短路,求解一个源点到其他所有点的最短距离,适用对象:允许负权图和负环图(负环:图上边权之和为负的环)存储结构:链式前向星核心思想:用队列保存松弛边的出度点,调整其邻接点优化思路:进行松弛操作的的邻接点入队sdis∞path−1QincntMinkvsdisvkvsdisvdisuwdisvmindisvdisuw复杂度:一般为OE,最差情况下退化至OVE。

2024-08-07 19:42:21 961

原创 2024睿抗(Raicom)机器人开发者大赛CAIP-编程技能赛-本科组 国赛 真题

分数 15你肯定很奇怪,这看上去代码似乎不像是正常写出来的代码呀?没错,这是这位同学在网络上购买了所谓的“保研综测套餐”,商家为逃避赛后查重,给这位同学发去了经过混淆的代码。然而经过技术支持方的努力,这位同学不仅被封禁,与 TA 购买了相同“套餐”的同学也利用技术手段全部查出,目前主办方已向警方报案,这些同学的“保研”梦很有可能会转变为“案底”梦……因此如果你在比赛前也购买了类似的服务,现在迷途知返还来得及——毕竟这个商家起码还做了一些努力,许多商家号称“一对一”,实际上将一份代码发给了数十位同学……

2024-08-04 16:23:36 947

原创 倍增 ST表

倍增是与二分相反的算法,其核心思想是每次扩大一倍,以2n的速度极大扩展空间。最经典的倍增是2i(实际应为ei流程:定义倍增表gij,其中i代表起始元素索引,j代表倍增组数(该组对应区间长度(包含原元素本身)为2j,该元素在该组中倍增后的位置为i2j−1n个元素最多可倍增log2​n组(经验值在20左右)。gijggij−1]]j−1含义:第i个元素倍增j组,等于其倍增j−1组后再倍增j−1组,即i2ji2。

2024-07-29 21:13:05 600

原创 拓扑排序

拓扑排序可视为对图上所有顶点不重不漏的遍历,因此可采用BFS或DFS实现拓扑排序的充要条件是其为DAG(有向无环图),若拓扑排序无解说明图该图不是DAG,因此可对图进行判环若为无向图可看做有向图进行拓扑排序(基环树)复杂度:O(VE。

2024-07-23 17:25:40 158

原创 Bellman-Ford

对边进行操作,求解一个源点到其他所有点的最短距离适用对象:小图,允许负权图和负环图存储结构:直接存边核心思想:反复松弛(最多进行V−1轮),若该边使距离更优则更新sdis∞path−1MinuvV−1disV−1kvsdisvkvsdisvdisuwdisvmindisvdisuwOVEdis。

2024-07-23 17:05:45 370

原创 Floyd

OV3OV3。

2024-07-22 15:52:35 858

原创 Dijkstra

单源最短路:起点到其余点的最短路多源最短路:每一对顶点间的最短路。

2024-07-21 15:07:49 657

原创 离散化

离散化适用于在一个较大区间内,只关心数据的相对大小,而不关心数据的绝对大小,通常将较大的区间通过映射缩小到一个较小区间中,用相对值代替绝对值,进行缩小区间范围的技巧,以提升时空效率。哈希表本质上就是利用了离散化的思想。例:{1409,1628,201,1816,1024,108}->{4,5,2,6,3,1}

2024-07-20 10:17:37 989

原创 最长公共子序列(LCS)

给出两序列v1v2,求它们最长公共子序列长度(子序列可以不连续)

2024-07-17 00:40:29 784

原创 2024睿抗(Raicom)机器人开发者大赛CAIP-编程技能赛-本科组 省赛 真题

分数 10热҈热҈热҈……最近热得打的字都出汗了!幸好某连锁餐厅开启了气温大于等于 35 度即可获得一杯免费雪碧的活动。但不知为何,在每个星期四的时候,这个活动会暂停一天……现在给定连续的若干天的气温情况以及给定的第一天是星期几,请你算出有多少天你可以喝到免费的雪碧,又有多少天是因为星期四而导致你喝不到雪碧的。

2024-07-16 01:56:47 1504 1

原创 完全背包

背包容量为V,有n种物品,每种物品有无限多个,第i种物品体积为ci​,价值为wi​,怎样装填背包使总价值最大?实际上,完全背包并不代表每种物品可以真正装填“无限”多个,因为存在背包总体积这一限制因素。

2024-07-14 23:26:52 627

转载 数论基础

群友的问题快速幂关键在于拆分 222=216+4+2=216×24×222^{22}=2^{16+4+2}=2^{16} \times 2^4 \times 2^2222=216+4+2=216×24×2210进制快速幂: 高精次幂的解决方案数论基础取余 % 向下取整取模  mod \bmodmod 向0取整取模性质:a opt b(modp)=(a(modp) opt b(modp))(modp),opt=+,−,×,opt≠/a\,opt\,b\pmod p=(a\pmod

2024-07-14 18:43:49 34

原创 快速幂

Olog2​n。

2024-07-14 18:42:52 537

原创 0/1背包

注:求解具体方案仅适用于非滚动数组,因为滚动过程会将中间状态信息丢失。终点开始步步向上回溯,根据0/1背包状态转移方程式。个物品是否已装,最后输出标记数组。思路:定义标记数组,从。

2024-07-13 20:18:41 758

原创 最长上升子序列(LIS)

给定长度为n的序列v,求此序列中(上升)的子序列长度最大值(子序列可由原序列中不连续的元素构成)

2024-07-13 20:16:48 816

原创 [题解]POJ 1163 数字三角形

【代码】[题解]POJ 1163 数字三角形。

2024-07-13 19:21:48 122

原创 Time to say GoodBye

一个眼镜男夺走了我的资格。

2024-07-13 14:51:53 255

原创 [题解]P1115 最大子段和

本蒟蒻太菜了,还不太能理解为什么,先存一下题解,有时间再来研究。

2024-07-12 19:20:43 289

原创 [题解]P1002 过河卒

一道很简单的dp题,但本蒟蒻被坑的很惨,发布题解作为警示。

2024-07-12 17:32:22 145

原创 [题解]P1113 杂务

本题为拓扑排序板子题,但本蒟蒻耍无赖,巧妙的用dp转移的思想做出来了,发一篇题解纪念一下。

2024-07-11 15:23:51 115

原创 分块

分块是将线段树的懒标记方法一般化,可证明通常情况下以n​分块是最优解。

2024-07-10 20:07:45 329

原创 [题解]P1638 逛画展

暂时没有思路,先存一篇题解。

2024-07-10 19:06:27 127

原创 [题解]P1901 发射站

单调栈水题,强烈建议本题降黄。

2024-07-10 16:12:41 145

原创 hash

key->value,借助离散化的思想对数据进行映射,可视为用value代表原本的key在C++中,可使用map当做哈希表使用,将std::hash当做哈希函数使用。

2024-07-09 18:27:52 702

原创 字典树(Tire树)

字典树的根节点为空,从根节点到某一节点路径上的字符连接起来构成字符串,完整的字符串在链上而非结点上,一个节点的所有子节点都具有相同公共前缀。字典树是一种多叉树,又称为前缀树。核心思想是利用字符串的公共前缀。

2024-07-09 18:26:13 697

原创 [题解]P3370 字符串哈希

本小蒟蒻看到貌似没有人用C++11的。,在此发(shui)一篇题解。

2024-07-09 14:24:14 80

原创 树状数组(二叉索引树)

树状数组的核心思想:分治。将数组以二叉树的形式进行维护区间之和。设a为原数组,tree为树状数组。tree数组用于存储树上该结点下t1a1t2t1a2t3a3t4t2t3a4t5a5t6t5a6t7a7t8t4t6t7a8…),即存储x−lowbitx1x。

2024-07-08 19:55:37 2685

原创 [题解]P2895 流星雨

BFS板子题,但有坑点需要注意,以此纪念一下本人发生事故之后的第一道题。

2024-07-08 16:08:49 182

原创 素数筛

【代码】素数筛。

2024-06-24 00:42:29 103

原创 GCD LCM

设a≥b若amodb==0,则gcdab==b若amodb!0,则gcdab==gcdbamodb。

2024-06-24 00:41:17 720

原创 STL容器的基础应用

STL容器做形参时,默认情况下仍为按值传递。若需按址传递,可在形参中传递STL容器的引用,或使用指向STL容器的指针,或使用模板参数推导结合传引用。

2024-06-24 00:27:58 857

原创 STL迭代器的基础应用

迭代器的定义方法:| 类型 | 作用 | 定义方式 || 正向迭代器 | 正序遍历STL容器 || 常量正向迭代器 | 以只读方式正序遍历STL容器 || 反向迭代器 | 逆序遍历STL容器 || 常量反向迭代器 | 以只读方式逆序遍历STL容器 |迭代器与自动类型推导:C++11引入了auto。

2024-06-23 18:54:20 1148

原创 [题解]P1219 N皇后问题(深搜板子题)

个皇后,寻找使得所有皇后不同处一行、一列或一条斜线上的摆放方案。

2024-06-21 23:54:47 423

原创 Markdown入门语法笔记

Markdown是一种轻量级的文本标记语言,基于“内容才是本质”的理念进行设计,排版格式简洁自然,让创作者将更多时间集中在内容创作而非排版上。Markdown在当今世界上应用非常广泛,论文排版、说明文档、开发文档排版等都离不开Markdown的身影,是当今程序员必会的标记语言之一,Github上项目的开发文档默认排版格式语言即为Markdown。Markdown可拓展性极强,内嵌了许多其他强大的标记语言的语法,如HTML、Latex、Mermaid、Sequence、Flow等。

2024-06-08 16:10:49 433

原创 排序算法(一) 基础排序算法

排序本质:减小逆序对的过程在基础排序算法中,将待排序序列分为相对有序区与相对无序区。每次遍历到数组末尾称为一。

2024-05-31 18:03:22 851

原创 排序算法(二)

Onlog2​n)),不稳定,就地)流程:将待排序元素序列分割成若干个子序列,在子序列内分别进行直接插入排序,待序列基本有序(接近正序)时,再对全体记录进行直接插入排序,能够大大提升直接插入排序效率。希尔排序不存在有序区和无序区。分组方法:并非逐段分组,而是将相距某个增量的元素组成一个子序列。对于长度为n的数组,增量序列为21n​22n​23n​1,且增量序列互质(最经典的分组方法)。

2024-05-31 18:02:26 990

原创 并查集 带权并查集 反集

并查集最基本的操作——合并、查询。

2024-05-27 00:20:54 391

空空如也

空空如也

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

TA关注的人

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