上一页 1 ··· 5 6 7 8 9 10 11 下一页
摘要: 考虑如果暴力 DP,设 \(f_{i,j}\) 为当前的串长为 \(i\),在 AC 自动机的 \(j\) 节点的概率。转移时枚举在后面加的字符 \(k\),如果加上 \(k\) 后匹配上了一个禁忌串就直接回到根节点,同时给答案贡献,否则就继续匹配。\(len\) 在 \(10^9\),时间复杂度会 阅读全文
posted @ 2025-02-06 20:11 zhangxy__hp 阅读(36) 评论(0) 推荐(0)
摘要: 设 \(dp_{i,j,S}\) 表示填了 \(i\) 位,在 AC 自动机上的 \(j\) 号节点,当前覆盖的字符串集位 \(S\) 的方案数。于是有转移: \[\large{dp_{i,j,S}\to dp_{i+1,tr_{j,k},S\operatorname{or}sta_{tr_{j,k 阅读全文
posted @ 2025-02-06 16:24 zhangxy__hp 阅读(26) 评论(0) 推荐(0)
摘要: 容易发现相交的区间是不会产生贡献的。于是不用考虑这个限制。 用单调栈可以求出以 \(a_i\) 为最小值和最大值的区间个数 \(qmn_i\) 和 \(qmx_i\)。 从小到大枚举第二个区间的最小值,记 \(p_i\) 表示 \(i\) 的位置,则对于 \(i\) 的答案即为: \[\sum_{j 阅读全文
posted @ 2025-02-05 17:47 zhangxy__hp 阅读(32) 评论(0) 推荐(0)
摘要: \(k\le 20\),考虑 \(O(2^k)\) 暴力枚举加入的边。但是边数很大,时间复杂度很高无法承受。 考虑在一开始强制选这 \(k\) 条边,然后跑最小生成树,此时加入的边就是一定会加入的边。设这个边集为 \(S\)。 将 \(S\) 连接的连通块缩成点,点数为 \(O(k)\)。再在原图上 阅读全文
posted @ 2025-02-04 22:43 zhangxy__hp 阅读(30) 评论(0) 推荐(0)
摘要: A. [COCI2009-2010#7] SVEMIR 显然 boruvka。将所有点分别按照 \(x\),\(y\),\(z\) 排序,更新最小边。时间复杂度 \(O(n\log^2 n)\)。 Code #include<cstdio> #include<iostream> #include<u 阅读全文
posted @ 2025-02-04 08:21 zhangxy__hp 阅读(70) 评论(0) 推荐(1)
摘要: 考虑初始的答案,显然为卡特兰数 \(H(n)\)。 考虑加入一对括号 \((l,r)\) 时对答案的贡献。(\((l,r)\) 表示有一对括号,左括号在 \(l\),右括号在 \(r\)。) 我们默认一开始有一对括号 \((0,n+1)\)。当出现一对括号 \((l,r)\) 时,首先要加上 \(( 阅读全文
posted @ 2025-02-03 21:24 zhangxy__hp 阅读(21) 评论(0) 推荐(0)
摘要: 很巧的 trick。 首先离线。从大到小扫 \(l\),维护数组 \(p_i\) 表示当前出现 \(i\) 的最小的位置。 显然当确定了左端点,从左到右的 \(\operatorname{mex}\) 是单调不降的。因此我们要求的就是一段区间 \([l',r']\),满足 \(\operatorna 阅读全文
posted @ 2025-02-01 12:16 zhangxy__hp 阅读(22) 评论(0) 推荐(0)
摘要: 问题显然可以分为两部分:\(u\) 的子树内和 \(fa_u\) 到 \(v\) 的链上。前者需要树上背包,后者需要取 \(\max\)。 考虑用线段树维护这两个值。子树内的答案只需要一次区间查询,再加上树上背包的 \(O(m^2)\),总共为 \(O(m^2\log n)\)。链上的答案需要进行树 阅读全文
posted @ 2025-01-25 22:44 zhangxy__hp 阅读(37) 评论(0) 推荐(0)
摘要: A. Min-Fund Prison (Medium) 考虑一个边双连通分量一定不可能分为合法的两部分,于是进行缩点。缩完后显然是一个森林。 设 \(dp_{i,j,0/1}\) 表示第一堆有 \(i\) 个点,第二堆有 \(j\) 个点,两堆点有没有用一条边连起来的最小花费。对于每棵树,考虑将它加 阅读全文
posted @ 2025-01-23 11:10 zhangxy__hp 阅读(62) 评论(0) 推荐(2)
摘要: A. 牛场围栏 首先判断 -1 的情况。 如果可用的长度中有 \(1\),那么所有长度都能拼出来。 如果所有可用长度的 \(gcd\) 不为 \(1\),那一定没有最大值。 证明:设 \(gcd\) 为 \(q\),则 \(q\mid x_1a_1+x_2a_2+\dots+x_na_n,x_1,x 阅读全文
posted @ 2025-01-21 16:12 zhangxy__hp 阅读(37) 评论(0) 推荐(1)
上一页 1 ··· 5 6 7 8 9 10 11 下一页