
算法竞赛进阶指南
文章平均质量分 74
算法竞赛进阶指南的知识点+例题
louisdlee.
大二,ICPC区域赛铜,备战银牌ing~
目前准备更新完深入浅出进阶篇。
Q 1677816720,博客有问题的地方欢迎私信。
展开
-
组合数学一
组合数学原创 2025-02-12 14:11:03 · 113 阅读 · 0 评论 -
异或哈希总结
异或哈希原创 2025-01-27 23:29:35 · 309 阅读 · 0 评论 -
单源最短路总结+练习题
处理方式很简单,只要让每一条边的边权都为1,跑一遍最短路即可,原理也很简单可以自行推导。刷到一道题,需要我们找到1~N这条路径里的两个有序的点,一个在前一个在后。有一些题看不出来是最短路,是因为他没有直接问你从起点到终点的最短路。集合之间的最短路问题,有n个连通块,求到终点最少经过几个连通块。由于这两个点是在1~N这条路径上,所以最好用spfa。然后求出 1~i 的小权值,和i~n的最大权值即可。后者我们不可能以i为点跑spfa,这样复杂度过高。也可以不想这些,用数学构造出一个新的最短路。原创 2024-02-16 03:54:00 · 495 阅读 · 0 评论 -
前缀和、差分
普通的二维前缀和,如果为了节省空间的话,可以用前缀和数组和原数组公用一个数组。中,正数和p、负数和的绝对值q。理论上,如果一个序列中的所有的数是一样的话,那么其差分数组。若 l、r 能互相看见,说明 l、r 之间的数都需要-1。故,如果我们需要对一个区间进行增减同一个数x的操作。有操作,那么b[1]只可能会被操作 1~p-q次。例如,我们需要将[2,5]内的元素全部都增加1。只需要让b[2]+1, b[6]-1 即可。2、如果b[1]无操作,说明p-q次操作都在。将a[l+1]-1, a[r]+1。原创 2024-01-30 17:51:21 · 895 阅读 · 0 评论 -
0x02递推与递归
递推者,自小而大,循序渐进;递归者,由上而下,分而治之。原创 2024-01-30 17:48:43 · 929 阅读 · 0 评论 -
0x01位运算
它通过使用二进制位来表示不同的状态,并使用位运算来操作和检索这些状态。在二进制状态压缩中,每个状态被赋予一个唯一的二进制编码,称为状态掩码。例如,假设我们有一个集合 {A, B, C, D},其中每个元素可以处于两个可能的状态:存在或不存在。我们可以使用一个4位的二进制数来表示这四个元素的状态,其中每一位对应一个元素,0表示不存在,1表示存在。例如,0000表示所有元素都不存在,而1111表示所有元素都存在。通过使用位运算,我们可以高效地对这些状态进行操作。原创 2024-01-30 17:38:49 · 1501 阅读 · 0 评论