2023年10月4日

线段树

摘要: 前言: 继树状数组,一年后,kkk05终于决定把它的好兄弟——线段树附上。(明明一年前就学了但是今天才写的屑) 先简单地引入一下:P3372 忽略这道题的标题,看到这道题的第一想法大约是一维数组+m个循环+输出,照着这个思路写下去,不出意外的话,你将获得TLE。这时我们就该抬头看看标题:哦,什么是线 阅读全文

posted @ 2023-10-04 00:22 kkk05 阅读(16) 评论(0) 推荐(0) 编辑

2022年9月3日

树状数组

摘要: 前言: 设有一个包含n个数的数组a[ ] = { 9,2,5,6,3,12...... },现要求前i个数的和值,即前缀和sum[ i ] = a[ 1 ]+a[ 2 ]+a[ 3 ]+...+a[ i ](i = 1,2,3...n),可以怎样求? 首先想到的肯定是累加前i个数,但若对a[ i ] 阅读全文

posted @ 2022-09-03 10:51 kkk05 阅读(39) 评论(0) 推荐(0) 编辑

2022年7月12日

桥与割点

摘要: 前言: 就在前天,我学习了图的桥与割点。偷懒了两天后经过两天的理解,我,终于写写出了代码并写好了注释(^_^),今天就来写博客啦~ 桥详细讲解: 首先,去找一张图。如下: (这张图画得我好累) 那么,桥是什么呢? 在一个无向图G中,若去掉一条边e,使图G分裂为两个不相连的子图,则称边e为图G的桥或割 阅读全文

posted @ 2022-07-12 00:54 kkk05 阅读(51) 评论(0) 推荐(0) 编辑

2022年7月7日

哈弗曼编码

摘要: 前言: 众所周知,生活中许多方面都需要编码。而在字符的存储中,编码方式一般分为等长编码和不等长编码两种。 1 等长编码:00 01 11 2 不等长编码:00 01 010 0111 等长编码由于所有字符编码长度相等,所以n个不同字符需[logn]位编码。 而不等长编码中,使用频率高的字符编码长度短 阅读全文

posted @ 2022-07-07 20:50 kkk05 阅读(168) 评论(0) 推荐(0) 编辑

2022年7月3日

图的存储

摘要: 前提: 在 OI 中,想要对图进行操作,就需要先学习图的存储方式。 假设有一个有图,有n个点,m条边,从点到另一点的边权为w,现要存储这个图共有几种办法? 方法一:邻接矩阵 首先,定义一个n*n的数组data,data[ i ][ j ]表示从点i到点j是否连通。 1 int data[n][n]= 阅读全文

posted @ 2022-07-03 19:29 kkk05 阅读(59) 评论(0) 推荐(0) 编辑

2022年6月28日

链式前向星

摘要: 大概定义: 以图中每一顶点为起点,记录下其所有边在图中的起始位置和权值,可快速访问某顶点的所有邻接点。 链式前向星存储一般包括边集数组(e[],e[i]表示第i条边)和头结点数组(head[],head[i]表示以i为起点的一条边在e[]中的下标)两种。 则建立结构体为: 1 struct kk{ 阅读全文

posted @ 2022-06-28 22:21 kkk05 阅读(84) 评论(0) 推荐(0) 编辑

导航