随笔分类 -  基础算法

摘要:##离散化 适用范围:数组中元素值域很大但个数不多 比如将a[] = [1 , 3 , 100 , 3000 , 500000 ]映射到[1 , 2 , 3 , 4 , 5] 这个过程就叫离散化 基本步骤(如何实现离散化) 开一个辅助数组(alls[])把要离散的数据存下来; 排序; 去重, 保证相 阅读全文
posted @ 2023-01-31 00:36 wustRen 阅读(74) 评论(0) 推荐(0)
摘要:##二分思路 ##二分模板 ###整数二分 bool check(int x) {/* ... */} // 检查x是否满足某种性质 // 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用: int bsearch_1(int l, int r) { while (l < r 阅读全文
posted @ 2023-01-29 17:20 wustRen 阅读(91) 评论(0) 推荐(0)
摘要:##归并排序的思路 1.将整个区间分为两个子区间 即[L , R]=> [L , mid] + [mid + 1 , R] 2.递归排序[L , mid] 和 [mid + 1 , R] 3.归并,将左右两个有序序列合并为一个有序序列 ##归并排序模板 void merge_sort(int q[] 阅读全文
posted @ 2023-01-29 15:51 wustRen 阅读(42) 评论(0) 推荐(0)