
数据结构——单调栈、队列&&笛卡尔树
文章平均质量分 77
无
迷蒙之雨
这个作者很懒,什么都没留下…
展开
-
字符串刷题杂记
AC自动机 CF710F String Set Queries 洛谷题目传送门 询问出现次数是AC自动机的拿手好戏,一个节点的出现次数是这个节点在失陪树上到根节点的路径上的出现次数总和 但是AC自动机这种东西不支持凭空添加一个字符串 如果可以离线就可以用CDQ分治搞定 但是强制在线就有点困难 有一个可以解决强制在线问题的分治算法,就是二进制分组 我们分别维护大小为1,2,4,8,16……1,2,4,8,16……1,2,4,8,16……的ACACAC自动机 加入一个串的时候,我们就先将它和大小为1的合并,重构原创 2022-02-17 16:24:43 · 216 阅读 · 0 评论 -
SPOJ3734 PERIODNI(笛卡尔树+组合+DP)
SPOJ3734 PERIODNI 洛谷题目传送门 给定一个N列的表格,每列的高度各不相同,但底部对齐,然后向表格中填入K个相同的数,填写时要求不能有两个数在同一列,或同一行,下图中b是错误的填写,a是正确的填写,因为两个a虽然在同一行,但它们中间的表格断开。 输出所有填写方案数对1 000 000 007的余数。 解题思路 这道题是加在笛卡尔树作业里的,那就是和笛卡尔树有关的 先考虑一种简化情况 如果是正方形,填n个数,那么第一行有n种,第二行有(n-1)种 一共有n!n!n!种填法 如果是矩形,长n,宽原创 2021-10-13 13:32:07 · 209 阅读 · 0 评论 -
[SNOI2017]炸弹(tarjan+DP+优化建图)
洛谷题目传送门 解题思路 嗯,我觉得看出是个有向图并不难 把每个炸弹向他能炸到的连一条边 然后缩点,那么每个炸弹一定能炸到他所属的强连通分量里的所有炸弹 缩完点后是一个DAG,那么对于新图上的每个点来说,他在DAG上能到达所有店都能炸到 并且我们能发现一个性质,一个炸弹能炸到的一定是连续的一段,所以我们建这个DAG的反图,进行DP,更新能炸到的左端点和右端点 但是数据有点大,所以一个一个连边就会T 一般情况,我们会选择线段树优化建图 但是众所周知,线段树优化建图细节很多,很难调 所以我们要另想一种方法优化原创 2021-08-29 14:00:28 · 215 阅读 · 0 评论 -
数据结构之单调队列与单调栈
数据结构之单调队列与单调栈 目录 一:单调队列 1:单调队列的概念 2:单调队列的模拟 3:单调队列的实现 4.单调队列的应用 holiday 5.补充与说明 单调队列例题: 二:单调栈 1.单调栈的基本概念与实现 2.单调栈的例题 一:单调队列 我们还是先放上一道题 洛谷P1886 滑动窗口 题目描述 有一个长为n的序列a,以及一个大小为k的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值...原创 2020-08-08 16:02:58 · 535 阅读 · 1 评论