logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【并查集】判环

R:全部车辆集合,每个元素是一对数字 (x,y) cnt:满足 x≠y 的车辆总数量,每一台基础消耗 1 次移动G:仅由 x≠y 的车辆构建的无向图 S:图 G 里任意一个连通块 |S|:连通块 S 包含的数字点总数 E (S):连通块 S 内部包含的车辆(边)总数判断一个连通块是环的条件 E (S) > 0 并且 |S| == E (S)loop:图 G 中所有满足上面条件的环连通块总个数最终答

#算法#c++
图论基础算法入门笔记

单源最短路是固定一个起点,求它到其他点的最短路问题。

#算法#数据结构#图论 +1
【板子】欧拉路径/回路

欧拉路径(Eulerian Path):一条路径,经过图中每条边恰好一次欧拉回路(Eulerian Circuit):一条起点 = 终点的欧拉路径注意:欧拉路径关心的是边,不是点。每个点可以经过多次,但每条边只能走一次。与之对应的是哈密顿路径——经过每个点恰好一次。

#深度优先#算法#图论
【板子】欧拉序

dfs 序:1 → 2 → 回溯 → 3 → 回溯 \(in[1]=1,\ out[1]=3\) \(in[2]=2,\ out[2]=2\) \(in[3]=3,\ out[3]=3\) 子树 1 对应区间 \([1,3]\),子树 2 对应 \([2,2]\)。

#深度优先#算法#图论 +1
【板子】AC 自动机

多模式串匹配问题:给定一堆模式串,一个长文本,一次性找出文本里所有出现过的模式串。暴力:每个模式串单独 KMP,总复杂度爆炸。AC 自动机 =,线性处理。

#算法#c++
【板子】kmp

真前缀:不包含最后一位;真后缀:不包含第一位;\(next[i]\) = 最长的长度 k,满足前 k 位 = 后 k 位(\(k<i\)),这个长度叫Border。例:\(P=abcab\)(长度 5) 前缀:a ab abc abca abcab 后缀:b ab cab bcab abcab 最长相等真前后缀是ab,长度 2 → \(next[5]=2\)。

#c++#算法
模拟多项式输出(

int main()cin>>n;i>=0;i--){cin>>x;if(x){if(i!=n&&x>0)cout<<'+';if(i!=0&&x==-1)cout<<'-';cout<<x;if(i>1)if(i==1)cout<<'x';return 0;

模拟【打牌游戏】

鲍勃喜欢在手机上玩一款有趣的塔防游戏。在游戏里,他需要出牌来击败对手!有 n 张牌排成一个队列,称为牌组。在任意时刻,鲍勃里的牌。每一轮,鲍勃会选择前 k 个位置中的一张牌,将其从牌组中移出并打出,然后把这张牌放回牌组。换句话说,每一轮都会从队列的前 k 个元素中选一个,移到队列末尾,它后面的所有元素都向前移动一位。其中有一张牌是,鲍勃想尽可能多次打出它。但每张牌都有对应的消耗:第 i 张牌(初始

#算法#数据结构#c++
到底了