自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AC自动机——【模板】AC自动机

摘要 题目要求实现AC自动机算法,统计多个模式串在文本串中的出现次数。AC自动机结合了字典树和KMP算法的思想,通过构建字典树和失配指针(fail指针)来高效匹配。算法步骤包括:1) 将所有模式串插入字典树;2) 使用BFS构建fail指针;3) 遍历文本串进行匹配;4) 通过拓扑排序聚合结果。时间复杂度为O(n+m),其中n是模式串总长度,m是文本串长度,适用于大规模字符串匹配。

2026-03-30 21:27:13 503

原创 网络流基本概念(2)

网络流其实就是一种建模工具。当我们遇到题目里有很多限制条件,比如管道容量、流量守恒的时候,就可以想想能不能用网络流来做。原点 S 是起点,汇点 T 是终点。容量是限制,流量是实际流的量。可行流要满足容量限制和流量守恒。残余网络用来找增广路。最大流等于最小割。

2026-03-07 14:15:29 244

原创 网络流基本概念(1)

网络流的基本概念

2026-03-07 14:13:31 322

原创 状态机——大盗阿福

我们用了一个线性的dp来写这道题,我们把每一个店面定义了两种状态:偷和不偷。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。那么我们在这里就会发现:我们把每一个将复杂的过程分解为若干个明确的状态,并定义在这些状态之间如何转移。个被空格分开的正整数,表示每一家店铺中的现金数量。该行包含一个整数,表示阿福在不惊动警察的情况下可以得到的现金数量。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。对于第一组样例,阿福选择第 2 家店铺行窃,获得的现金数量为 8。

2026-03-06 21:22:12 358

原创 有依赖的背包——更疯狂的采药

医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同种类的草药,采每一种都需要一些时间,每一种也有它自身的价值。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。医师又对他说了一句:“这里的草药很多的根都单向缠绕着另一个草药,也就意味着你要先采下缠绕着这个草药的草药后才能采这个草药”那么这个背包就和以前不一样了,每一个物品都有一个前置条件,也就是这是一个有依赖的背包问题。,用空格隔开,分别表示物品的体积、价值和依赖的物品编号。

2026-02-27 22:28:03 519

原创 Trie字典树——【模板】字典树

那第三个不同就要我们思考一下了:前面的cnt[i]储存的是有多少个字符串在编号为i的字符上结束,那这里问的是前缀,那我们是不是可以把cnt[i]转换成有多少个字符串经过了编号为i的字符。我们看到这道题,是不是头很晕,这题要求我们求一个字符串在一个字符串集合中有几个字符串可以满足这个字符串是它的前缀,对于还没学Trie字典树的我们是一大挑战,所以我们先从一题简单的开始。2.字典树我们需要高效的查询一个字符串,而链式前向星的查询速度为O(n+m),很容易超时。输入的字符串只含大小写字母和数字,且不含空串。

2026-02-09 21:49:03 642 1

原创 RMQ(ST表)——天才的记忆

那暴力是行不通了,按照前面学的,我们发现这题很难去用我们现有的(在没学过RMQ&ST表和线段树等的话)知识里面很难去把这道AC掉。,这个很简单,之后我们还需要预处理log(这里后面会用),log的预处理就是从3枚举到n(其中。我们一开始会想到直接用暴力去求解,我们算一下时间:每次查询×查询次数,O(nm),最大为。的区间取max(或者+、min等,看题目要求什么),到最后的长度为。的区间相加(或者max、min等,看题目要求什么),到最后的长度为。,这里的s就按照公式求,log前面预处理过了,那。

2026-02-05 21:04:59 600

原创 树形dp——没有上司的舞会

每一个人能贡献的快乐指数都会影响到最终的答案,那么数组的第一维确定下来了,是每个人贡献的快乐指数,但是我们发现这并不全面,每个人都有两种状态:来和不来。答案是可以的,我们可以用一个dfs来遍历这棵树,每一个节点先遍历所有的子节点,然后进行计算答案,然后回溯到上一个节点提供答案。我们会发现这道没有上司的舞会里面,我们可以建一棵树,每棵树的答案就是他的子树和他本身经过一些运算(转移方程)的来的,也就是把大问题拆成多个小问题然后慢慢解决,也满足无后效性,根节点不会影响子节点的运算。,且给出的关系一定是一棵树。

2026-02-04 20:59:17 594

原创 同余——青蛙的约会

x(m-n)=yL+(b-a) 这个时候我们把含未知数的项全部移到左边,就可以得到x(m-n)-yL=b-a。原方程的一个特解是:k'=x*((a-b)/d),所以答案k就是(k'%(L/d)+(L/d))%(L/d)将原方程两边同时除以d可得((m-n)/d) * k ≡ ((b-a)/d) (mod L/d)因为gcd((m-n)/d,L/d)=1,所以(m-n)/d在模L/d下有逆元。也就是输出(x*(a-b)/d % (L/d) + (L/d)) % (L/d)

2026-01-13 22:41:39 407

原创 同余——同余方程(求逆元)

我们用了三种方法来做这道关于x的同余方程ax≡1 (mod b)的最小整数解(求a在取模b的情况下的逆元)1.欧拉定理:两种做法,欧拉筛(适用于a≤10000000,不推荐使用),直接用根号a的时间复杂度求欧拉(推荐)2.费马小定理:只适用于b(模数)为质数的情况下,较为简单但是受限3.扩展欧几里得算法:十分推荐,用递归的方式求。

2026-01-12 22:41:55 345

空空如也

空空如也

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

TA关注的人

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