07 2022 档案

摘要:分析 这题就推~~一些~~柿子。 考虑时间点 $i\in[0, 23]$ 安排了 $a_i$ 人。 设时间点 $i$ 最多来 $lim_i$ 个员工,我们有约束:$a_i \in [0, lim_i]$。 然后我们还需要满足每个时间段被 $\geq R_i$ 人覆盖。 分个类: $i\in[7,23 阅读全文
posted @ 2022-07-17 16:39 HinanawiTenshi 阅读(47) 评论(0) 推荐(0)
摘要:这里提供一个线段树合并的做法,个人感觉思维难度和代码难度都不大,~~我一发过了这题,nice~~ 分析 把每个人对应的路径看成是询问,考虑如何处理这些询问: 可以发现对于一条路径 $u\to v$,相当于是 $u\to v$ 依次打上 $0, 1, 2,\dots$ 这样的时间戳,然后最暴力的做法就 阅读全文
posted @ 2022-07-14 15:37 HinanawiTenshi 阅读(50) 评论(0) 推荐(1)
摘要:目录 线段树分治 本题做法 实现 线段树分治 事实上线段树分治的做法很简单,就是在时间轴上开线段树,以方便处理在一段时间内其效果的操作。 比如说,现在整棵线段树维护的时间范围是 $[1, 3]$,开出的线段树自然是: 现在有一个操作在时间 $[1, 2]$ 上作用,那么对应于线段树的节点就是: 又有 阅读全文
posted @ 2022-07-12 21:21 HinanawiTenshi 阅读(1077) 评论(1) 推荐(1)
摘要:平面图 首先介绍一下平面图的相关性质: 若图 $G$ 能被画在平面上且不同的边仅在端点处相交,则称图 $G$ 为平面图。画出的没有边相交的图称为 $G$ 的平面表示或平面嵌入。 一个图的平面嵌入会将整个平面划分成若干个互不连通的区域,每个区域称为一个面。 其中,无界的区域称作外部面,反之称为内部面。 阅读全文
posted @ 2022-07-11 15:24 HinanawiTenshi 阅读(112) 评论(0) 推荐(1)
摘要:分析 这题做法很简单: 跑一遍 $\texttt{MST}$(最小生成树),把这棵树建立起来,上面的边标记为树边。 枚举非树边 $(u, v)$,记边权为 $w$,考虑这条边能够提供的增量 $del$。 具体来说:只需要求出树上 $u\to v$ 的路径上的边的最大值 $mx_1$ 和严格次大值 $ 阅读全文
posted @ 2022-07-10 20:19 HinanawiTenshi 阅读(76) 评论(0) 推荐(0)
摘要:AtCoder Beginner Contest 192 D 注意到只有一位的时候多少进制都一样,方便起见先判掉。 剩下的都是进制越大值越大,考虑二分: 对于当前进制 $b$,从低位开始计算当前的值,如果发现比限制大了就返回 false,注意到二分的 $mid$ 上限是 $10^{18}$,也就是计 阅读全文
posted @ 2022-07-06 15:50 HinanawiTenshi 阅读(63) 评论(0) 推荐(0)
摘要:分析 这题就是一道需要分类讨论的图论。。 注意到题目中每个点只有一条出边,也就是说给出的图是一个内向的基环树森林。 首先进行预处理: 开一个并查集,这能够将两个点不在同一棵基环树的情况筛掉。 利用内向树随便找一个点跳到基环树的环(环上所有点记为“根”)。然后建反图,在反图上跑一遍 $\texttt{ 阅读全文
posted @ 2022-07-01 00:41 HinanawiTenshi 阅读(56) 评论(0) 推荐(0)