logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

浅谈Trie树算法(c++)

又称字典树,用边来代表字母,而从根结点到树上某一结点的路径就代表了一个字符串。举个例子,1->4->8->12 表示的就是字符串 caa。很简洁、自然的算法,所以也没什么能讲的,下面直接看一道例题及其代码。字典树最基础的应用——查找一个字符串是否在“字典”中出现过。

文章图片
#算法#c++#图论
浅谈基础的图算法——最短路算法相关例题讲解(c++)

例题讲解P4667 [BalticOI 2011 Day1] Switch the Lamp On(01最短路)题面翻译题目描述Casper 正在设计电路。有一种正方形的电路元件,在它的两组相对顶点中,有一组会用导线连接起来,另一组则不会。有 N×MN\times MN×M 个这样的元件,你想将其排列成 NNN 行,每行 MMM 个。 电源连接到板的左上角。灯连接到板的右下角。只有在电源和灯之间有

文章图片
#算法#c++#开发语言
浅谈KMP算法(c++)

为方便讲述,字符串下标从 开始。

文章图片
#算法#c++#开发语言
浅谈基础的图算法——Tarjan求强联通分量算法(c++)

因为这样,假设割点左边有一个子图,右边也有一个子图,由于这个点是割点,那么左右一定是没有其他边联通的, 所以该点的联通的连v满足low[v]>=dfn[u],最后特判一下根。给定一张无向图,求每个点被封锁之后有多少个有序点对(x,y)(x!个点就是去掉这个点之后,图中的强联通分量变多了,那么这个点就是一个割点。把城镇看作节点,把道路看作边,容易发现,整个城市构成了一个无向图。每条道路连结两个不同的

文章图片
#算法#c++#开发语言
浅谈基础DP算法——背包问题(c++)

输入文件medic.in的第一行有两个整数T(1

文章图片
#算法#c++#数据结构
浅谈AC自动机算法(c++)

考虑字典树中当前的结点u,u的父结点是u,u通过字符 c 的边指向u,即trie[p, c] = u。假设深度小于u 的所有结点的 fail 指针都已求得(只需要通过 BFS 就可以得到这个性质)(特别的,令 fail[root] = root,令深度为 1 的所有节点 x, fail[x] =root)。由 s 构造的自动机能接受的字符串是以 s 为子串的串 t。其能接受的字符串就是插入到Tri

文章图片
#算法#c++
浅谈基础的图算法——拓扑排序算法(c++)

在计算机科学的广袤领域中,拓扑排序犹如一颗璀璨的明珠,特别是在处理有向无环图(DAG)的相关问题时,其重要性不言而喻。今天,让我们一同深入探究拓扑排序在 C++ 中的奥秘。

文章图片
#算法#排序算法#c++
浅谈根号类算法及其应用(分块,莫队)(c++)

今日机房集训,对根号类算法有了一点浅薄的理解,把篇博客庆祝一下。

文章图片
#算法#c++#开发语言
浅谈基础的图算法——拓扑排序算法(c++)

在计算机科学的广袤领域中,拓扑排序犹如一颗璀璨的明珠,特别是在处理有向无环图(DAG)的相关问题时,其重要性不言而喻。今天,让我们一同深入探究拓扑排序在 C++ 中的奥秘。

文章图片
#算法#排序算法#c++
到底了