摘要: 0. 主席树的名字 主席树和主席没有关系。 它之所以叫主席树,是因为它的发明者叫 HJT ,和时任这一职务的那个人一样。 1. 例题 静态查询数组 \(a\) 中 \([l, r]\) 第 \(k\) 大的值。 一种暴力的方法是:每次询问对区间进行排序。这样的时间复杂度是 \(O(mn \text{ 阅读全文
posted @ 2025-01-17 09:44 cwkapn 阅读(98) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2024-12-31 17:27 cwkapn 阅读(0) 评论(0) 推荐(0)
摘要: 题目传送门:A B C D E A 解法:注意到最终支付的一定是 \(3^k\) 的钱。即得。 B 解法:不难发现芯片的前进路上不能有障碍,否则不可能在 \(n-1\) 步内完成。然后又不难发现,同一行或一列只能放一个。双不难发现,当 \(n\) 为奇数时,中行或中列可能会冲突,此时需要移除其中一个 阅读全文
posted @ 2024-11-27 11:35 cwkapn 阅读(97) 评论(0) 推荐(1)
摘要: 二分 介绍 二分是信息学中运用的较为广泛的一种思想。它的核心是每次操作去掉一半的错误答案,从而在 \(\text{log}_2n\)(在信息学中简称 \(\text{log}n\))的操作次数内查找到答案。 题外话:算法的复杂度 计算机也许足够快,但并非无限快。 ————《算法导论》 现代计算机的运 阅读全文
posted @ 2024-11-26 10:31 cwkapn 阅读(144) 评论(0) 推荐(0)
摘要: 模拟 介绍 正如名称所说,模拟是信息学学生最早接触,也是难度跨度最大的知识点。简单如《A+B 问题》《校门外的树》开门见山,没有任何铺垫和掩饰;困难如《猪国杀》《乱西星上的空战》同样开门见山,但谁做谁头疼。 因此,本文选择了模拟作为《算法与数据结构》的第一章。 引入 正如名字所表示的,模拟的核心思想 阅读全文
posted @ 2024-11-25 22:33 cwkapn 阅读(300) 评论(0) 推荐(0)
摘要: 本文将对 Codeforces 55 (Beta Round 51) 进行分析。 A 题目描述: 一个虫子位于绕城一圈的 \(n\) 片树叶中的一片上,在第 \(k\) 分钟,虫子会跳过 \(k−1\) 片树叶并在脚下的树叶上做一个记号。你的任务是判断该虫子是否将 \(n\) 片树叶都做了记号。 解 阅读全文
posted @ 2024-11-22 10:14 cwkapn 阅读(132) 评论(0) 推荐(1)
摘要: 本文将分析 Codeforces 1145 (April Fools Day Contest 2019)。 题目分析 A 题目描述:使用“灭霸排序”算法可以得到的最长子串的长度。 解法:暴力。 B 题目描述:输入一个整数 \(\in [1,99]\),若它的英文形式含有 knba 四个字母输出 NO 阅读全文
posted @ 2024-11-20 09:03 cwkapn 阅读(190) 评论(0) 推荐(1)
摘要: Codeforces 250 题目分析 附注 \(1\):由于 Codeforces 服务器故障,本题的程序时限为标称的二分之一。 附注 \(2\):若难度标记为形如 XXX/YYY 的格式且斜线前后颜色不同,则前者为作者估计,后者为洛谷标注。(吐槽:洛谷很多题目难度虚高) 题目 Dashboard 题目分析 A 难度:入门 / 普及− 阅读全文
posted @ 2024-11-18 09:30 cwkapn 阅读(314) 评论(0) 推荐(1)
摘要: 本文将会对 Codeforces 1450 A-H 进行探讨。 题目链接 CF1450 题目分析 A 难度:入门 算法标签:字符串 题目描述:对给定的字符串内字符的顺序进行调换,使 trygub 不是该字符串的子串。 解题思路: 本题有多种思路。下面介绍其中两种。 将字符串内所有 b 字符移到字符串 阅读全文
posted @ 2024-11-12 11:08 cwkapn 阅读(204) 评论(0) 推荐(1)
摘要: 本文将研讨 Codeforces 777(Codeforces Round 401 (Div. 2))中的题目 A-E。 题目连接 A B C D E 题目分析 A 难度:普及− 题面翻译: 给你三张牌:\(0\),\(1\),\(2\)。 最初选一张,然后依次进行 \(n\) 次交换,交换规则为: 阅读全文
posted @ 2024-11-11 09:47 cwkapn 阅读(269) 评论(1) 推荐(2)