05 2023 档案

摘要:首先,我们需要读懂这个图是什么图。 第一,忽略外面的环,由“任意两点可到达且路径唯一”的条件可知这是一棵树。 第二,因为每个点的度数是三,所以如果只考虑中间的树,除了 k 以内的点都是叶子,其他的点度数都是三。 考虑什么样的树有很多点度数是三:完全二叉树。但是这个和完全二叉树还有个不同,就是完全 阅读全文
posted @ 2023-05-30 22:52 jucason_xu 阅读(29) 评论(0) 推荐(0) 编辑
摘要:本质不同的算法主要有两种:对子图大小根号分治和类启发式均摊。此外还有很多实现上的差别。 #### 对子图大小根号分治 在线做法: 我们发现,把每个颜色的边和它们的顶点取出为一个子图,所有子图大小的和是 O(n) 级别的。那么我们就可以根号分治。 首先,要预处理每个颜色子图下的连通块。可以用并查集 阅读全文
posted @ 2023-05-30 14:42 jucason_xu 阅读(48) 评论(0) 推荐(0) 编辑
摘要:Z 函数是的意义是对于字符串的后缀 i,其最长的前缀使得存在原串的一个前缀和它相同。 我个人认为 Z 函数是简单于 KMP 的,因为 KMP 的思想是利用前面的答案递归调用计算新的位置,而 Z 函数是简单的递推,只需要一个原先计算的结果就能得出答案,不需要递归。 Z 函数的核心思想是匹配段思想, 阅读全文
posted @ 2023-05-30 10:21 jucason_xu 阅读(550) 评论(0) 推荐(1) 编辑
摘要:诈骗题。给了个模数但是答案根本达不到那个级别。 先提前给出一个引理,如果长度为 2nss[1,n]=s[n+1,2n] 并且 s[1,m]=s[m+1,2m](mnx,那么就有最左边和最右边的 nborder 串相等。两个拼起来,根据引理就有更小的循环节,这是不被 阅读全文
posted @ 2023-05-29 16:14 jucason_xu 阅读(34) 评论(0) 推荐(0) 编辑
摘要:训练一共布置了 8 题,其中除了 H 以外,剩下的题目都是字符串题。这些题全部都可以只用哈希做,也全部都可以不用哈希做。 #### CF126B - Password 题意:要求找到一个字符串同时是 S 的前缀、后缀、非前后缀子串。 哈希做法:首先,我们要查找,需要多短的前缀才能保证其有过非前后 阅读全文
posted @ 2023-05-29 15:22 jucason_xu 阅读(29) 评论(0) 推荐(1) 编辑
摘要:就我学过的所有处理字符串的算法(包括匹配算法、回文算法、后缀算法、字符串哈希),都离不开两个恒定的主题:递推构建和压缩信息。这一特征很明显和字符串的性质有关:子串众多,而子串之间互相关联性强。字符串的算法大多数都是 O(n) 的时间或空间复杂度,和“字符串本身包含的信息只有 O(n),只是它 阅读全文
posted @ 2023-05-29 12:40 jucason_xu 阅读(37) 评论(0) 推荐(0) 编辑
摘要:尝试使用哈希。首先,我们可以发现,我们去枚举最终答案矩形的长和宽。然后我们会发现宽是关于长单调减少的。那么我们就可以写一个双指针,每次检查对当前的 x,y,是否存在长为 x,宽为 y 的相同子阵。因为是双指针,所以枚举的复杂度是 O(n+m) 的。 然后考虑匹配。我们发现,我们可以使 阅读全文
posted @ 2023-05-27 17:13 jucason_xu 阅读(18) 评论(0) 推荐(0) 编辑
摘要:题意:给出一个无向网络,求其最大费用流(不是最大费用最大流) 首先考虑无向图怎么解决。 先尝试对每个边构造一个子结构,具体方法是对每个边 (x,y) 新增两个点 a,b,然后从 (x,y) 分别向 a 连有向边,b(x,y) 连有向边。ab 之间连流量为 阅读全文
posted @ 2023-05-27 16:10 jucason_xu 阅读(11) 评论(0) 推荐(0) 编辑
摘要:上来先开了 D,比较简单的小题 #### D - Integer Numbers 题意:现在有一个序列,改变最少的位置,使得这个序列是等差数列,输出方案。 我们发现,如果我们不改变 ai,那么只有满足 aiaj=ijj 是不需要改变的。也就是需要改变的数是 n 减去 阅读全文
posted @ 2023-05-26 21:42 jucason_xu 阅读(17) 评论(0) 推荐(0) 编辑
摘要:给定一个不降整数序列 1x1x2xnq,请构造一个实数序列 y 满足 yi[1,q]yiyi1[a,b],且最小化 (yixi)2,保证有解。 #### 利用凸函数性质维护导 阅读全文
posted @ 2023-05-24 21:44 jucason_xu 阅读(87) 评论(0) 推荐(1) 编辑
摘要:有点厉害。 首先给一个 SAM 的做法。我们先对所有串建立 SAM,然后对于每个 T,我们先预处理对于每个节点对应的 endpos 集合,多长的子串可以满足条件。 然后,我们把 S 串往当前的自动机输入,每次会来到一个 endpos 集合。同时再输 阅读全文
posted @ 2023-05-16 21:53 jucason_xu 阅读(16) 评论(0) 推荐(0) 编辑
摘要:我们首先考虑建图。我们把每个点向它的所有变换连边,把每个变换往它产出的所有点连边,同时点到变换的边有边权,就是变换中 1 的个数。 我们首先处理最小值。我们发现,没有出度的点和变换可以一开始就有结果。只要一个点有一个变换是可以有结果的,这个点就可以有结果。变换则不然,必须所有点都有结果,变换才 阅读全文
posted @ 2023-05-16 17:12 jucason_xu 阅读(26) 评论(0) 推荐(0) 编辑
摘要:首先考虑 dpi,msk 表示当前连通了 msk 中所有关键点,并且当前连通的非关键点包含 i 的最小代价。 然后考虑如何转移。我们先用 Floyd 预处理所有点对之间的最短路 disti,j。同时,每次选取的两个用于合并的关键点集合一定没有交集,所以我们可以直接枚举 阅读全文
posted @ 2023-05-16 16:21 jucason_xu 阅读(12) 评论(0) 推荐(0) 编辑
摘要:首先我们考虑先把区间处理掉,也就是对于每个 y 轴区间,只保留在这个区间上最早出现的进行贡献,使得每个区间只有一段城墙会贡献到。这个可以离散化然后线段树来处理。 其次,我们发现,对于在时间 ti 上出现的 [li,ri] 区间(这里我们说的都是指离散后 [a,a+1) 的区间, 阅读全文
posted @ 2023-05-16 14:42 jucason_xu 阅读(9) 评论(0) 推荐(0) 编辑
摘要:比较迷糊,比较乱搞。 我们考虑从上往下进行 dpdpi 表示从顶上水槽 i 最多的流量。然后我们发现,每个高度,能用来进行转移的区间一定没有被完全覆盖。也就是,只有在遮挡关系中被覆盖的区间可能被用来转移。 同时,每个区间还是有要求的,比如 [1,3][2,3] 部分后来 阅读全文
posted @ 2023-05-15 21:47 jucason_xu 阅读(14) 评论(0) 推荐(0) 编辑
摘要:首先我们通过翻转坐标系强制要求光的方向是正方向。翻转坐标系就翻转矩阵的对应维度就可以了。 然后我们发现,如果不考虑遮挡关系,只考虑平面,对于每个位置的方块而言,能照到它的光是一段区间。就是能照到 (i1,j) 和能找到 (i,j1) 的光。 我们考虑把光映射到光所在直线在 y 轴上的 阅读全文
posted @ 2023-05-15 21:23 jucason_xu 阅读(18) 评论(0) 推荐(0) 编辑
摘要:比较毒瘤的一道模拟。 首先,我们考虑如何处理 define,我们发现,其中不会出现环,并且所有冲突的定义以第一个为准,那么就想到并查集,将 x 的父亲定成 y。只不过我们平时的并查集是无向的,这里是有向的,也就是谁是根是重要的。 我们先给所有的定义和被定义的变量映射到一个值,然后用并查集维护 阅读全文
posted @ 2023-05-15 20:58 jucason_xu 阅读(19) 评论(0) 推荐(0) 编辑
摘要:我们发现,这其实就是一个完全图合并的问题。如果一个子图不是完全图,就一定要把它们合并起来。 我们考虑 dpmsk 表示只对当前集合 msk 的点进行操作,使得 msk 集合是完全图的最小步数。初始状态是枚举所有的 msk 检测是否是完全图。然后我们每次枚举和当前集合的加入集合 阅读全文
posted @ 2023-05-07 19:29 jucason_xu 阅读(17) 评论(0) 推荐(0) 编辑
摘要:My solution 首先,我们考虑最暴力的 dp,设 dpi,j 表示当前处理到第 i 位,目前序列尾部是 j 的方案数。这个 dp 的转移是很容易的。dpi,j=k=1ai1[kj]dpi1,k。但是复杂度也是很 阅读全文
posted @ 2023-05-07 19:20 jucason_xu 阅读(24) 评论(0) 推荐(0) 编辑
摘要:题意:对于一棵树,有多少种删去边的方式,使得删边之后得到的森林中,每棵树的直径都不超过 k。 见数据范围和直径知 dp,设 dpi,j 表示当前考虑子树 i,所有直径不大于 k,且从 i 往下最深深度为 j 的方案数。 同时注意每棵树转移到祖先的时候,j 都要自 阅读全文
posted @ 2023-05-07 12:20 jucason_xu 阅读(18) 评论(0) 推荐(0) 编辑
摘要:题意:给一个字符串,每次询问它的一个区间,问最少删除多少个字符,使得区间没有子序列 2016,但是有子序列 2017。 My solution 首先考虑贪心,通过预处理的方式找到区间最后一个 7,依次往前贪心的找到最靠后的一组 2017。接下来,我们需要 7 的后面没有 6,7 前面的部分不能组合出 阅读全文
posted @ 2023-05-07 09:18 jucason_xu 阅读(25) 评论(0) 推荐(0) 编辑
摘要:首先看到这个数据范围限制,我们不难猜到是状压 dp,首先就猜测复杂度应该是 O(nmS)S 是状压大小,和 m 有关的某个非多项式的级数。 错误的思考过程 然后我们就很快能找到一个状压 dp 的方法。我们可以记录当前一列的黑白染色情况和连通块的集合划分。粗略估计是 $\sum_ 阅读全文
posted @ 2023-05-05 21:08 jucason_xu 阅读(87) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示