logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【板子】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++
到底了