摘要: dp+ 题单:4.4~4.12 虚树:4.13~4.15 莫反:4.16~4.20 二分图:4.20~4.26 网络流1:4.27~5.3 网络流2:5.4~5.10 后缀数组等:5.11~5.17 后缀自动机:5.18~5.24 凸包:5.25~5.31 KD-tree:6.1~6.7 群论和线性 阅读全文
posted @ 2024-04-02 21:37 长安一片月_22 阅读(8) 评论(2) 推荐(0) 编辑
摘要: 传波波之语录,集信经之文化,融会贯通,故作《吕氏春秋》。 阅读全文
posted @ 2024-03-24 19:43 长安一片月_22 阅读(10) 评论(1) 推荐(0) 编辑
摘要: 不愧是 \(ZJOI\),《最可做的一道题》都让人一头雾水…… 首先将问题转化到链上。 可以将总共的组数转化为每个点可以到达的城市。 明显给每个点建一棵动态开点线段树,维护可以和他通商的点。很明显,可以通商的点的标号连续的一段。我们可以将可以将每一次传播语言的工作当作区间修改,很明显可以用差分。最后 阅读全文
posted @ 2024-04-21 17:19 长安一片月_22 阅读(5) 评论(1) 推荐(0) 编辑
摘要: 发现可以直接建立虚树。 设 \(dp_{u,0/1/2}\) 表示第 \(u\) 个节点的子树内,所有选中节点到它的距离之和/选中节点中到它的最短距离/选中节点中到它的最长距离,\(as_{u,0/1/2}\) 则代表对于这个子树,题目所问问题的三个答案,\(i1,i2\) 分别为使 \(dp_{u 阅读全文
posted @ 2024-04-20 20:28 长安一片月_22 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 基环树算法总结 一、什么是基环树 基环树,顾名思义,有两个要素:环和树。 因此,基环树就是一棵树的一个节点,扩成一个环,做题时,多棵基环树组成的基环树森林,常以如下方式出现: 每个点只有一个出边。 每个点只有一个入边。 图中一共有 \(n\) 个点,\(n\) 条边。 那么,基环树类型的题目应该怎么 阅读全文
posted @ 2024-04-20 11:24 长安一片月_22 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 基环内向树上 dp,不过在这里提供给一种非典型做法。 考虑将环上的每一条边都断开,这样就会形成多棵树,先在这些树上进行树形 \(dp\)。设 \(dp_{i,0/1}\) 表示不选/选 \(i\) 时,\(i\) 子树内的最大选点数。明显方程为: \[\begin{cases}dp_{u,0}=\s 阅读全文
posted @ 2024-04-20 10:20 长安一片月_22 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 众所周知,\(lyh\) 是一名压行大师,也是一名 \(juruo\),所以他将他繁琐的方法用 \(102\) 行表现了出来…… 明显原题为基环内向树森林。 首先用并查集计算连通块,不在一个连通块里的答案就是 \(-1\ -1\)。 发现实际上答案就是以环为根节点,求 \(lca\) 的结果,求完后 阅读全文
posted @ 2024-04-14 18:00 长安一片月_22 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 明显要以 \(1\) 为起点。 原图是树 这种情况下,走路不能回头,只能用 \(dfs\) 的思路走。当然肯定每次都走较小的那棵子树,\(vector\) 存图后排序即可达到这种效果。 时间复杂度 \(O(n\log m)\)。 原图是基环树 明显可以分别考虑将所有边断掉后的情况,取字典序最小的。 阅读全文
posted @ 2024-04-14 09:16 长安一片月_22 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 首先来考虑什么情况方案数为 \(0\): 可以确定,在某一层中,两个原本都能晋级的队伍比赛; 可以确定,在某一层中,两个原本都不能晋级的队伍比赛。 发现假如写出每一场比赛及其胜者,可以形成一棵树形结构,在里面打标记即可判断是否为 \(0\)。 我们设 \(a_i\) 表示第 \(i\) 层新加的队伍 阅读全文
posted @ 2024-04-13 08:56 长安一片月_22 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 看到 \(a_i\le 70\) 后,发现 \(n\) 啥用没有,因为只需要枚举 \(1-70\) 选几个即可。 看到求完全平方数后,想到分解质因数,由于 \(a_i\le 70\),所以只有 \(19\) 个质数,可以进行状压 dp。 设 \(dp_{i,j}\) 表示枚举到 \(i\),状态为 阅读全文
posted @ 2024-04-06 18:02 长安一片月_22 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 概率与期望挂大分~ 阅读全文
posted @ 2024-04-06 09:18 长安一片月_22 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 很容易想到树形 dp。 考虑在有根树内,每个点都有两种状态: 不选自己和父亲的边; 要选自己和父亲的边。 那么单独对于子树内部而言,就要分两种情况: 最多可以向 \(d_i\) 个孩子连边,对应上述第一种情况,我们称之为 \(f_i\); 最多可以向 \(d_i-1\) 个孩子连边,对应上述第二种情 阅读全文
posted @ 2024-04-02 21:16 长安一片月_22 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 每次合并两个数,做过石子合并的人都能看出来是区间 dp。 设状态 \(dp_{i,j}\) 表示区间 \([i,j]\) 中合并为一个数的所有情况之和。 那么我们就可以枚举断点 \(k\): \(b_k\) 为 \(+\):\([i,k]\) 中的每种情况都要和 \([k+1,j]\) 中的每种情况 阅读全文
posted @ 2024-03-23 11:28 长安一片月_22 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 首先,我们对这个幸运数进行分析,发现: \(10^9\) 以内只有 \(1023\) 个幸运数,即 \(\sum\limits_{i=0}^92^i\) 个。 考虑对幸运数和非幸运数分类讨论。 幸运数部分: 01 背包裸题,\(dp_{i,j}\) 表示前 \(i\) 个幸运数里选了 \(j\) 个 阅读全文
posted @ 2024-03-16 10:27 长安一片月_22 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 发现单调不降序列反过来就是单调不增序列,只需考虑单调不降序列即可。 假如将问题转化为:初始为 \(1\),一共有 \(n+1\) 个位置,有 \(n-1\) 次增加答案的机会,每个位置可以拥有多次增加答案的机会,问一共有多少种可能性。 显然答案为 \(C_{2n-1}^{n-1}\)。所以总体答案为 阅读全文
posted @ 2024-03-16 08:47 长安一片月_22 阅读(3) 评论(0) 推荐(0) 编辑