![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法进阶指南
刷算法进阶指南的一些思考过程
FoolsSHAO
蒟蒻一只~
展开
-
离散化思想
离散化 离散化适合在数据范围很大但是又只使用部分数据的时候使用 例题 : AcWing 103 离散化函数: sort(a, a + n); for(int i = 0; i < n; i ++ ) { if(i == 0 || a[i] != a[i-1]) { b[m++] = a[i]; } } //排序后进行离散化 int query (int x) { return low_bound(b, b + m, x) - b; } //查找数据映射到哪个整数上了原创 2020-11-01 20:25:19 · 120 阅读 · 0 评论 -
二分思想
对于二分,二分是一种思想,二分的前提是单调性,但单调性不一定直接写在题目中,而是答案存在单调性。如这道题使用二分的前提就是答案的范围是0-最大值之间,所以通过转化我们就可以对此题使用二分 例题:AcWing102 二分函数 double l = 0, r = 2000; while (r - l > 1e-5) { double mid = (l + r) / 2; if (check(mid)) l = mid; else r = mid; }原创 2020-11-05 15:59:00 · 666 阅读 · 0 评论 -
从均分纸牌到七夕祭
从均分纸牌到七夕祭 在做七夕祭这道题目的时候,感觉很难以下手,看了题解,将七夕祭模型使用简单的模型递推之后变得简单了,也就是从均分纸牌到七夕祭的过程 均分纸牌 AcWing1536 #include <iostream> using namespace std; const int N = 105; int n, avg, ans, a[N]; int main() { cin >> n; for(int i = 0; i < n; i ++ )原创 2020-11-05 15:57:27 · 75 阅读 · 0 评论