信息学奥赛一本通
文章平均质量分 91
CUG_YZL
Hellow 2021!
展开
-
Part2.1 字符串算法-哈希和哈希表
Part2.1 字符串算法-哈希和哈希表字符串哈希算法字符串的一般哈希函数为 f(s)=∑i=1∣s∣si×bi mod Mf(s)=\sum_{i=1}^{|s|}s_i \times b^{i} \bmod Mf(s)=∑i=1∣s∣si×bimodM显然上述函数的求解时 O(n)O(n)O(n) 的,并且实现效率低下若要多次询问一个字符串 sss 的子串哈希值,该算法显然无法满足要求,我们期望能够在 O(1)O(1)O(1) 时间算出 f(sl...r)=∑i=0r−lsi+l×bi mo原创 2021-01-12 00:43:51 · 181 阅读 · 0 评论 -
Part1.2 基础算法-二分与三分
Part1.2 基础算法-二分与三分A. 愤怒的牛问题描述需要在 nnn 个点中选取 mmm 个放置牛,问你所有放置方法中任意两头牛的最大的最小距离是多少解题思路很容易想到该距离的上限是 maxi=1nXi−mini=1nXimax_{i=1}^{n}X_{i}-min_{i=1}^{n}X_{i}maxi=1nXi−mini=1nXi,其下限为 0,那么我们可以二分这个答案假设当前枚举的答案为 xxx,当前已将插入了 i−1i - 1i−1 头牛,那么下一头牛的位置 XiX_{i}Xi原创 2021-01-08 00:06:41 · 182 阅读 · 1 评论 -
Part1.1 基础算法-贪心算法
Part1.1 基础算法-贪心算法A. 活动安排问题描述给定 nnn 个区间 [l,r][l, r][l,r],你需要选出 mmm 个区间使其互不相交,问你 mmm 的最大值是多少解题思路考虑当前已经按照顺序选择了 i−1i - 1i−1 个互不相交的区间,当前需要添加第 iii 个与 i−1i - 1i−1 不相交的区间显然 Li≥Ri−1L_{i} \geq R_{i-1}Li≥Ri−1,那么我需要使得后续的队列尽可能的长,由于 LiL_{i}Li 范围固定,显然需要使得 RiR_{i原创 2021-01-07 00:37:35 · 209 阅读 · 0 评论 -
基于交换论证的 Johnson 法则证明
问题描述某工厂有 nnn 件物品需要进行加工,并且每件物品都需要先在 AAA 工厂加工 aia_iai 分钟,然后在 BBB 工厂加工 bib_ibi分钟,AAA,BBB 工厂每次分别只能加工一件物品,问你最少需要多少时间能够加工完全部 nnn 件物品交换论证假设有 nnn 件待完成事件,当前完成了 kkk 件,所花时间为 TTT,设当前先完成 iii 事件再完成 jjj 事件的总时间代价为 T+Ti,jT + T_{i,j}T+Ti,j,先完成 jjj 事件再完成 iii 事件的总时间代价为原创 2021-01-02 04:05:07 · 498 阅读 · 0 评论