摘要: 一个思路不难,但是实现起来有点毒瘤的题。 显然题目给出的是基环树(内向树)森林。 把每一个基环抠出来。 大力分类讨论: 1. 若 $a, b$ 不在一个联通量里,显然是 $ 1, 1$ 2. 若 $a, b$ 在同一颗子树内,他们聚合的点显然是最近公共祖先,因为如果再往上走,2的条件就不满足。 3. 阅读全文
posted @ 2020-02-15 02:47 DMoRanSky 阅读(187) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 这道题与下一章的数位$dp$解题思路十分一致。 把寻找答案变成按位(并且是字典序从小到大)枚举当前这一位可以填的情况。 通过$dp$预处理的信息告诉我们可行性,就可以把答案紧逼到一个更小的(子)问题,非常有趣。 考虑 $dp$ 预处理的信息: $f[i][j][0 / 1]$ 表示 $ 阅读全文
posted @ 2020-02-03 21:57 DMoRanSky 阅读(135) 评论(1) 推荐(1) 编辑
摘要: \(\sum_{i = 1}^{n} k \bmod i = n * k - \sum_{i = 1}^{n} \lfloor k / i \rfloor * i\) 显然,\(\lfloor k / i \rfloor\) 是最棘手的,我们要想办法简化计算。 证明单调性 观察 \(\lfloor 阅读全文
posted @ 2019-12-02 19:27 DMoRanSky 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 这题显然跟 "区间覆盖" 是一样的,而且值域在 $1000000$ 以内,不用离散化,直接贪心求解即可。 具体地:设 $nxt[i]$ 为从值域 $i$ 出发,能到达最远的右端点。 一段段地跳,直到跳到终点 $T$ 或者跳不动了。 $Tips$:注意这里是点覆盖,而区间覆盖是边覆盖,要注意跳的细节。 阅读全文
posted @ 2019-11-29 22:37 DMoRanSky 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 暴力 其实这题的暴力就是个模拟。暴力扫一遍 \(conn(s_1, n_1)\),若出现了 \(res\) 个 \(s_2\)。 答案就是 \(\lfloor res / n1 \rfloor\)。 时间复杂度 \(O(T(|s_1|n1))\)。 算法1:考虑匹配一个 s1 所需的最小字符数 考虑 阅读全文
posted @ 2019-11-29 22:18 DMoRanSky 阅读(273) 评论(0) 推荐(1) 编辑
摘要: 算法1: 差分约束 + 枚举 O(Tn2028) 由于牵扯到 $[i 8 + 1, i]$ 这段区间的和的约束,所以用前缀和更好表达一些。 设 $num[i]$表示 $i$ 时刻有多少人申请上岗, $x[i]$ 为 $i$ 时刻实际上岗的人数 ,$s$ 为 $x$ 的前缀和数组。 则应该满足的约束条 阅读全文
posted @ 2019-11-25 22:22 DMoRanSky 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 听书上说有贪心 + 数据结构的做法,研究了一下。 朴素贪心 考虑把所有线段按照右端点 $b$ 从小到大排序,依次考虑每一条线段的要求: 如果已经满足要求则跳过 否则尽量选择靠后的数(因为之后的线段的右端点都在这条线段的右边,这样容错更高) 所以,我们可以建一个数组,$d[i]$ 表示 $i$ 数字是 阅读全文
posted @ 2019-11-24 19:00 DMoRanSky 阅读(156) 评论(0) 推荐(1) 编辑
摘要: 01规划 设答案为 $ans$。 二分答案,设当前二分值为 $mid$。 设一个环 $S$ 的边权为 $t_1, t_2, t_3...$,点权为 $f_1, f_2, f_3...$ 若 $mid ans$ 每次 $check$ 的时候,一条 $u$ 指向 $v$,边权为 $w$ 的边权变为: $ 阅读全文
posted @ 2019-11-23 18:34 DMoRanSky 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 64 pts 类似 "乌龟棋" 的思想,由于 $64pts$ 的 $m 0)$ 小优化:发现所有状态只会从$A, B, C include using namespace std; const int N = 45, M = 6, P = 998244353; int n, m, a[N][M]; 阅读全文
posted @ 2019-11-23 11:16 DMoRanSky 阅读(484) 评论(3) 推荐(0) 编辑
摘要: Day 28 初赛了,自己就看了看往年题,有点不自信。问了发现考场可以用 $Dev c++$,于是: 数学题 $ $ 暴力题 程序阅读题 $ $ 运行程序调试题 补全代码题 $ $ 实验题 + 手造样例测试题 最后一题博弈论做过相似的,所以比较简单~~虽然最后sb错了一道最简单的~~ Day 19 阅读全文
posted @ 2019-11-20 22:18 DMoRanSky 阅读(473) 评论(0) 推荐(1) 编辑