摘要: 出于一些原因,只有 4.21 往后的题。 LOJ6481 Visual Python++ 考虑贪心。非常容易想到,从左往右扫,每次扫到一个右下角时就匹配一个在它上面但是高度差最小的左上角,如果有多个同一高度的可以不用考虑顺序,因为边界重合的情况是不合法的。 对于一种匹配方案,怎么判断它合不合法呢?我 阅读全文
posted @ 2023-05-01 12:07 Kevin090228 阅读(93) 评论(0) 推荐(0)
摘要: 引理 1:若 $n$ 为偶数,则答案为 $n$。 若 $n$ 是叶子,则显然正确。 若 $n$ 不是叶子,则将整棵树看做以 $n$ 为根的有根树,一定可以保证最后一个被删除的是根。 故得证。 下面只考虑 $n$ 为奇数的情况。叶子的情况是平凡的,故下文中 $u,v$ 均不为叶子。 引理 2:对于距离 阅读全文
posted @ 2023-02-26 13:35 Kevin090228 阅读(63) 评论(0) 推荐(0)
摘要: 题意 给定一个 $n$ 个点 $m$ 条边的无向连通图,求将 $m$ 条边进行 $3$ 染色且满足: 存在一条简单路径,使得路径上三种颜色的边各有至少一条。 的方案数。数据范围:$n,m\leq 2\times 10^5$。 做法 ~~这题思路非常的自然其实,不知道为啥群友都不会做。~~ 首先容易想 阅读全文
posted @ 2023-01-23 22:07 Kevin090228 阅读(170) 评论(1) 推荐(1)
摘要: 题意 维护一个序列,支持区间乘 $x$,和查询区间的 $Span$ 的大小。一个集合的 $Span$ 定义为可以表示成其中若干可重复整数的乘积的数的集合。所有计算在模 $p$ 意义下进行。 经典技巧 我们可以利用离散对数将每个 $x$ 表示成 $g^a$ 的形式,此时可以将乘法转化为加法。容易发现, 阅读全文
posted @ 2023-01-05 19:42 Kevin090228 阅读(53) 评论(0) 推荐(1)
摘要: 题意 输入给定常数 $d,p$。 有 $5000$ 个内存块,初始时 $1$ 的值为 $x$,$2$ 的值为 $y$,其余的值为 $1$。 你有三种操作: + a b c:将 $a$ 内存块和 $b$ 内存块的和放到 $c$ 内存块中。 ^ a b:将 $a$ 内存块的 $d$ 次方放到 $b$ 内 阅读全文
posted @ 2023-01-04 23:49 Kevin090228 阅读(41) 评论(1) 推荐(2)
摘要: | | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | DX | | | | | | | | | | | | | | 01 | √ | √ | √ | √ | | | | | | | | | | 02 | √ | √ | √ | √ | | | | | | 阅读全文
posted @ 2022-07-26 22:52 Kevin090228 阅读(120) 评论(0) 推荐(0)
摘要: RMQ 问题 — The Method of Four Russians RMQ 问题有不少查询复杂度 O(log n) 的做法,但是通过一系列神奇的转化 + O(n) 的预处理,可以让查询变成 O(1) 的 (因为 CSP-S 2021 考到了,所以来写一下 前置知识 笛卡尔树 — 序列和树之间的 阅读全文
posted @ 2021-09-20 15:58 Kevin090228 阅读(167) 评论(0) 推荐(1)