上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页
摘要: $$来到这个网页,等同于你被骗了。$$ $$\color{red}\text{Never Gonna Give You Up}$$ 阅读全文
posted @ 2023-01-01 10:34 liangbowen 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 前言 题目传送门! 更好的阅读体验? 遇到这种博弈论的题目,当然是要打表找规律了! 思路 首先,很容易想到暴力递推。 代码在上方的链接里。然后看几眼就能发现,在大部分情况下,如果 $n$ 是偶数那么 Alice 获胜,否则 Bob 获胜。 再多看几眼,会发现:有些地方 $n$ 是偶数,但是仍然是 B 阅读全文
posted @ 2022-12-23 15:48 liangbowen 阅读(36) 评论(0) 推荐(1) 编辑
摘要: 前言 题目传送门! 更好的阅读体验? 贪心。内容抄自某校课件。 思路 部分分 这个随便搞都可以,可以二分答案然后建边然后跑二分图最大匹配。 正解 考虑贪心。这里有一个很容易猜到或想到的结论: 将 $a$ 与 $b$ 从小到大排序,直接按位配对($a_i$ 配 $b_i$),就是最优解。 设排序后的数 阅读全文
posted @ 2022-12-18 22:39 liangbowen 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 前言 题目传送门! 更好的阅读体验? 最短路应用。内容抄自某校课件。 思路 首先想到题目与最短路有关。 假如 $a$ 到 $b$ 的最短路径长度是 $x$,那么对于一个询问是否存在长度为 $d$ 的路径: 如果 $x$ 和 $d$ 同奇偶,且 $d \ge x$,那么这个长度为 $d$ 的路径一定存 阅读全文
posted @ 2022-12-18 22:19 liangbowen 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 前言 题目传送门! 更好的阅读体验? zlt 推荐矩阵加速题目。其实很不算难啊,不就是模拟吗。 思路 首先乘法是不能用矩阵加速直接维护的,考虑答案为 $f_n = c^{k_1} \times f_1^{k_2} \times f_2^{k_3} \times f_3^{k_4}$。 这些都是可以转 阅读全文
posted @ 2022-12-11 18:14 liangbowen 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 前言 题目传送门! 更好的阅读体验? 矩阵快速幂优化 DP 经典题。 前置知识:会做简单的 DP、矩阵加速。 题目简述 给定一个长度为 $n$ 的环,每个位置可以填 $1$ 或 $2$。相邻两个不能同时填 $1$。 求方案数。多测。 朴素 DP 思路 看到题目,很容易想到环形 DP。 设 $dp_{ 阅读全文
posted @ 2022-12-02 18:08 liangbowen 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 前言 题目传送门! 或许更好的阅读体验? 并查集应用。 思路 本题精髓在于:我们可以把箱子与球都看成一个点。 这些点中,一部分指的是箱子,一部分指的是球。 对于操作一,我们合并 $x$ 与 $y$ 对应的箱子编号。此处是将 $y$ 归属于 $x$。 但是,只合并是不行的。例如下图的情景: 我们现在要 阅读全文
posted @ 2022-11-27 09:58 liangbowen 阅读(64) 评论(0) 推荐(0) 编辑
摘要: A A 题,送分题。 link。 思路 数据范围很小,其实直接模拟也是可以通过的。 不过我们很容易想到 $O(n)$ 的算法。 对于前 $k$ 个数,不输出,其他数正常输出。 然后再在末尾补上 $k$ 个 $0$。 容易发现,这样也是正确的。只要特判一下 $k \ge n$ 的情况就行了,这个时候全 阅读全文
posted @ 2022-11-21 09:59 liangbowen 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 前言 题目传送门! 或许更好的阅读体验? 博弈论,状压,记忆化搜索。 思路 看到很小的 $n$,容易联想到状压、搜索。本题就是状压加搜索。 设状态 $x$ 的每一位表示:如果第 $i$ 位是 $0$,则当前数没有被选过。否则已经选过了。 每次 dfs 的时候,记录当前状态,以及上一次选的字符串。 如 阅读全文
posted @ 2022-11-21 09:52 liangbowen 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 前言 题目传送门! 或许更好的阅读体验? 非常套路的题目,为啥要放在 E。 思路 容易发现,相邻查询的覆盖区间不会差太远。所以考虑用较短的时间处理两个查询。 思路也很容易想到:维护两个操作 add 与 del,支持 $O(1)$ 增加、删除一个数。 void add(int x) { if (!vi 阅读全文
posted @ 2022-11-21 09:42 liangbowen 阅读(28) 评论(0) 推荐(1) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 20 下一页