04 2024 档案

摘要:不愧是 \(ZJOI\),《最可做的一道题》都让人一头雾水…… 首先将问题转化到链上。 可以将总共的组数转化为每个点可以到达的城市。 明显给每个点建一棵动态开点线段树,维护可以和他通商的点。很明显,可以通商的点的标号连续的一段。我们可以将可以将每一次传播语言的工作当作区间修改,很明显可以用差分。最后 阅读全文
posted @ 2024-04-21 17:18 长安一片月_22 阅读(16) 评论(1) 推荐(0) 编辑
摘要:发现可以直接建立虚树。 设 \(dp_{u,0/1/2}\) 表示第 \(u\) 个节点的子树内,所有选中节点到它的距离之和/选中节点中到它的最短距离/选中节点中到它的最长距离,\(as_{u,0/1/2}\) 则代表对于这个子树,题目所问问题的三个答案,\(i1,i2\) 分别为使 \(dp_{u 阅读全文
posted @ 2024-04-20 20:28 长安一片月_22 阅读(8) 评论(0) 推荐(0) 编辑
摘要:基环树算法总结 一、什么是基环树 基环树,顾名思义,有两个要素:环和树。 因此,基环树就是一棵树的一个节点,扩成一个环,做题时,多棵基环树组成的基环树森林,常以如下方式出现: 每个点只有一个出边。 每个点只有一个入边。 图中一共有 \(n\) 个点,\(n\) 条边。 那么,基环树类型的题目应该怎么 阅读全文
posted @ 2024-04-20 11:23 长安一片月_22 阅读(12) 评论(0) 推荐(0) 编辑
摘要:基环内向树上 dp,不过在这里提供给一种非典型做法。 考虑将环上的每一条边都断开,这样就会形成多棵树,先在这些树上进行树形 \(dp\)。设 \(dp_{i,0/1}\) 表示不选/选 \(i\) 时,\(i\) 子树内的最大选点数。明显方程为: \[\begin{cases}dp_{u,0}=\s 阅读全文
posted @ 2024-04-20 10:20 长安一片月_22 阅读(27) 评论(0) 推荐(0) 编辑
摘要:众所周知,\(lyh\) 是一名压行大师,也是一名 \(juruo\),所以他将他繁琐的方法用 \(102\) 行表现了出来…… 明显原题为基环内向树森林。 首先用并查集计算连通块,不在一个连通块里的答案就是 \(-1\ -1\)。 发现实际上答案就是以环为根节点,求 \(lca\) 的结果,求完后 阅读全文
posted @ 2024-04-14 17:59 长安一片月_22 阅读(14) 评论(0) 推荐(0) 编辑
摘要:明显要以 \(1\) 为起点。 原图是树 这种情况下,走路不能回头,只能用 \(dfs\) 的思路走。当然肯定每次都走较小的那棵子树,\(vector\) 存图后排序即可达到这种效果。 时间复杂度 \(O(n\log m)\)。 原图是基环树 明显可以分别考虑将所有边断掉后的情况,取字典序最小的。 阅读全文
posted @ 2024-04-14 09:15 长安一片月_22 阅读(13) 评论(0) 推荐(0) 编辑
摘要:首先来考虑什么情况方案数为 \(0\): 可以确定,在某一层中,两个原本都能晋级的队伍比赛; 可以确定,在某一层中,两个原本都不能晋级的队伍比赛。 发现假如写出每一场比赛及其胜者,可以形成一棵树形结构,在里面打标记即可判断是否为 \(0\)。 我们设 \(a_i\) 表示第 \(i\) 层新加的队伍 阅读全文
posted @ 2024-04-13 08:56 长安一片月_22 阅读(5) 评论(0) 推荐(0) 编辑
摘要:看到 \(a_i\le 70\) 后,发现 \(n\) 啥用没有,因为只需要枚举 \(1-70\) 选几个即可。 看到求完全平方数后,想到分解质因数,由于 \(a_i\le 70\),所以只有 \(19\) 个质数,可以进行状压 dp。 设 \(dp_{i,j}\) 表示枚举到 \(i\),状态为 阅读全文
posted @ 2024-04-06 18:01 长安一片月_22 阅读(7) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2024-04-06 09:18 长安一片月_22 阅读(13) 评论(0) 推荐(0) 编辑
摘要:很容易想到树形 dp。 考虑在有根树内,每个点都有两种状态: 不选自己和父亲的边; 要选自己和父亲的边。 那么单独对于子树内部而言,就要分两种情况: 最多可以向 \(d_i\) 个孩子连边,对应上述第一种情况,我们称之为 \(f_i\); 最多可以向 \(d_i-1\) 个孩子连边,对应上述第二种情 阅读全文
posted @ 2024-04-02 21:16 长安一片月_22 阅读(8) 评论(0) 推荐(0) 编辑

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