摘要: 区间合并 区间合并问题也是一个贪心问题,由于比较常用所以单独拿出来。区间合并的解决方法是,把所有区间按照左端点 $l$ 从小到大排序,然后维护一个当前正在处理的区间 $[st,ed]$,如果遍历到区间和维护的区间有交集,就合并(能合则合),没有交集的时候,当前维护的区间就变成这个遍历到的区间。 这里 阅读全文
posted @ 2022-12-09 22:05 S!no 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 离散化 离散化是一种辅助解决问题的操作,当问题中涉及的数据范围非常大,但是实际使用到的数据是比较少的。并且问题的求解是和它范围里的其它数据有关系的,那么可以将这些可能使用到的数据放到一起,排序去重,就将它们映射到了一个新的较小的范围里。 例如,下面几个数是在 $(-\infty, \infty)$ 阅读全文
posted @ 2022-12-09 22:05 S!no 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 位操作 lowbit原理 根据计算机负数表示的特点,如一个数字原码是10001000,他的负数表示形式是补码,也就是反码+1,反码是01110111,加一则是01111000,二者按位与得到了1000,就是我们想要的lowbit操作 题目链接:AcWing 801. 二进制中1的个数 #includ 阅读全文
posted @ 2022-12-09 22:05 S!no 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 双指针算法 双指针算法的核心思想就是在序列上找到这样一个性质,序列上的一个指针 $j$ 随着另一个指针 $i$ 的移动,是单向移动的,不会发生回退,这样就能在移动指针 $i$ 的时候去移动指针 $j$。由于两个指针都最多只会把序列遍历一遍,所以时间复杂度往往是从 $O(n^2)$ 优化到 $O(n) 阅读全文
posted @ 2022-12-09 22:05 S!no 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 前缀和与差分 前缀和与差分 一维前缀和 差分 一维前缀和 前缀和可以用于快速计算一个序列的区间和,也有很多问题里不是直接用前缀和,但是借用了前缀和的思想。 用 $s[i]$ 表示 $a[0]+a[1]+\dots+a[i]$ 的和(所以称为前缀和),那么要计算区间 $[l, r]$ 的和,也就是计算 阅读全文
posted @ 2022-12-09 22:04 S!no 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 高精度 高精度 高精度加法 高精度减法 高精度乘法 高精度除法 高精度加法 题目链接:AcWing 791. 高精度加法 题目描述 给定两个正整数(不含前导 0),计算它们的和。 输入格式 共两行,每行包含一个整数。 输出格式 共一行,包含所求的和。 数据范围 $1 \le$ 整数长度 $\le 1 阅读全文
posted @ 2022-12-09 22:04 S!no 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 二分 二分法用于解决这样一类问题:一个区间能分成左右两部分,左半部分满足性质 $A$,右半部分不满足性质 $A$。问题的目标是求解这两部分的分界点。 所以二分法和区间里有没有单调性其实没什么关系,但是很多问题里是从单调性导出了上面的性质,上面的性质才是一个问题能用二分法求解的最本质的性质。 二分法每 阅读全文
posted @ 2022-12-09 22:00 S!no 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 归并排序 归并排序的思想是基于分治法,其思路是: 将待排序区间平分成左右两半,左右两侧分别递归地做归并排序。 将这两个有序的区间合并(每次落一个较小的下来),就将这个区间排好序了。 归并排序相比快速排序,几乎没有什么难理解的边界问题。要注意代码中的q[i] <= q[j]时从左半边落下元素,如果改成 阅读全文
posted @ 2022-12-09 21:49 S!no 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 快速排序 算法思想 快排的思想是基于分治法,其思路是: 确定分界点:给定要排序的数组q,先在数组中找一个数作为分界点值x,分界点可以取左边界值x = q[l],可以取右边界值x = q[r],可以取数组中间的数x = q[l + r >> 1],也可以随机取一个。 调整区间:将数组划分成两个区间,使 阅读全文
posted @ 2022-12-09 21:33 S!no 阅读(162) 评论(0) 推荐(0) 编辑
摘要: Conclusion Cryptography 和 Security 有很大的区别,密码学比较抽象,涉及思考能否用数学解决问题,而安全更多有关与用户与系统之间的交互,本课程的学习主要集中于密码学。 我们从第一单元开始,介绍了One-Time Pad,将消息与密钥进行异或,我们发现在理想情况下这种加密 阅读全文
posted @ 2022-11-25 09:36 S!no 阅读(36) 评论(0) 推荐(0) 编辑