摘要: 对于某些数据范围很大,但是分布却非常稀疏的题目,直接用数组存非常浪费空间,而且很可能会炸,于是要用到离散化这样的技巧; 其实这名字似乎很高大上,算法实现并不难,只是对数据排个序,去重,然后在其余代码部分用这个数的编号代替这个数就可以了; 实现排序和去重起来有很多种方法,用STL会更简单一些; 方法一 阅读全文
posted @ 2016-11-06 20:06 xqmmcqs 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 一、埃拉托斯特尼筛法 名字很高大上,然而并没有什么卵用…… 思路: 在把<=√n的质数所有的<=n的倍数剔除,剩下的就都是质数了,很容易理解…… 复杂度O(nloglogn) 二、欧拉筛 上一个筛法似乎复杂度不大,但是遇到107规模的数据就会炸,主要是因为一个数会被不同的质数筛好几遍,欧拉筛保证一个 阅读全文
posted @ 2016-11-06 19:34 xqmmcqs 阅读(310) 评论(0) 推荐(0) 编辑