摘要: 题目链接 我们来看一下这道题: 树上问题,容易想到树形 $dp$ 设 $dp_{i}$ 表示指定边到第 $i$ 条边要分叉多少? 容易得到 $$dp_v = dp_u \times (num_u - 1)$$ 其中 $num_i$ 为节点 $i$ 的度。 但这样在算结果时会超时。 有没有更好的方法呢 阅读全文
posted @ 2021-09-25 11:40 wangzhongyuan 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 我们来看一下这道题: 区间问题,容易想到区间 $dp$ 那么设 $dp_{l, r}$ 表示在区间 $(l, r)$ 内有多少个回文子串。 因为两个回文串组合起来不一定是回文串,例:$aa$ 与 $bb$, 而两个非回文串组合起来有可能是回文串,例:$abc$ 与 $ba$, 所以 $dp_{i, 阅读全文
posted @ 2021-09-22 23:10 wangzhongyuan 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 我们来看一下这道题: 首先给出一个公式: $$d(ij) = \sum\limits_{x | i}\sum\limits_{y | j} [\gcd (x, y) = 1]$$ 于是,我们就要求: $$\sum\limits_{i = 1}^n \sum\limits_{j = 1}^m \sum 阅读全文
posted @ 2021-09-21 10:58 wangzhongyuan 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 我们来看一下这道题: 首先建出 $trie$ 树,再建出 AC自动机。 考虑容斥,即总数 - 不可读的个数。 总数 = $26 ^ m$,可用快速幂求解。 问题变成 不可读的方案 有多少个? 显然,如果一个点 $u$,$fail[u]$ 是危险节点,则 $u$ 也是危险节点。 那么用一个 $flag 阅读全文
posted @ 2021-07-30 11:39 wangzhongyuan 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 我们来看一下这道题: 我们把图形分为 $(a, b)$ 与 $(a + c, d)$ 的矩阵 分别在两个矩阵放 $i$ 与 $k - i$ 个车 定义 $f(n, m, i)$ 表示在 $(n, m)$ 的矩阵中放 $i$ 个的方案数 讲解到此为止! $ans = \sum\limits_{i=0} 阅读全文
posted @ 2021-07-09 18:01 wangzhongyuan 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 前置知识:KMP 本蒟蒻已经默认大佬们会了 KMP 我们来看一下这道题: 设 $nxt_i$ 表示 $A$ 中以 $i$ 为结尾的非前缀子串与 $A$ 的前缀 能够匹配的最长长度,即: $nxt_i = \max(j)$,其中 $j < i$ 并且 $A_{i - j + 1}$ ~ $A_i = 阅读全文
posted @ 2021-06-12 22:23 wangzhongyuan 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 我们来看一下这道题: 离散,毕竟 $a_i$ 达到 $10^9$,而 $n$ 只达到 $10^3$ 动态规划 :设 $dp_{i, j}$ 代表 $A$ 的前 $j$ 个数构成以 $a_j$ 为结尾,长度为 $i$ 的严格递增子序列有多少个,则 $dp_{i, j}$ = $\sum\limits_ 阅读全文
posted @ 2021-06-05 16:37 wangzhongyuan 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 我们来看一下这道题: 求出题目所说的 $X$ 二分答案 $X$,对于每个的二分的 $mid$,拓扑排序判断是否行 $check$ 部分 : 一遍拓扑排序 判断每个节点的入度是否为零,若全为零,$return$ $true$,若又不为零,$return $ $false$ 再求出最佳顺序 拓扑排序出结 阅读全文
posted @ 2021-06-01 16:55 wangzhongyuan 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 我们来看一下这道题: 先排序,显然前三个的积是最小的 ($a[i]$ > 0) 设最小三个为 $a[1]$ , $a[2]$ , $a[3]$ ,记 $ans$ 为序列中有多少个与 $a[3]$ 相同 结果需分情况讨论: 若$a[1] = a[3]$ ,即最小三个相同,只要从序列中与 $a[3]$ 阅读全文
posted @ 2021-05-30 08:40 wangzhongyuan 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 这题可以背包动态规划来做 是一个多个维度的 $01$ 背包。把 n 个候选人看作 n 个物品, 维护 $3$ 个维度 $f[j][k]$ 表示前 $i$ 个人中选出 $j$ 个,总分差为 $k$ 时,俩总分和的最大值 转移方程 : 不选第 $i$ 个,$f[j][k]$ 选第 $i$ 个,$f[j 阅读全文
posted @ 2021-05-16 17:37 wangzhongyuan 阅读(3) 评论(0) 推荐(0) 编辑