From 8f7ef84c21a15514abc4c2e23d7758f33542d3df Mon Sep 17 00:00:00 2001 From: Ir1d Date: Thu, 27 Dec 2018 21:34:13 +0800 Subject: [PATCH] fix: fix images --- docs/geometry/convex-hull.md | 4 ++-- docs/geometry/images/ch.png | Bin 0 -> 12804 bytes 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 docs/geometry/images/ch.png diff --git a/docs/geometry/convex-hull.md b/docs/geometry/convex-hull.md index 9631c6aa..4ad0ddea 100644 --- a/docs/geometry/convex-hull.md +++ b/docs/geometry/convex-hull.md @@ -16,7 +16,7 @@ 凸包用最小的周长围住了给定的所有点。如果一个凹多边形围住了所有的点,它的周长一定不是最小,如下图。根据三角不等式,凸多边形在周长上一定是最优的。 -![](http://www.wjyyy.top/wp-content/uploads/2018/06/QQ截图20180623222031.png) +![](./images/ch.png) ### 凸包的求法 @@ -45,7 +45,7 @@ stk[++tp] = 1; //栈内添加第一个元素,且不更新used,使得1在最后封闭凸包时也对单调栈更新 for (int i = 2; i <= n; ++i) { while (tp >= 2 && (p[stk[tp]] - p[stk[tp - 1]]) * (p[i] - p[stk[tp]]) <= - 0) //此处*被重载为叉积 + 1) //此处*被重载为叉积 used[stk[tp--]] = 0; used[i] = 1; // used表示在凸壳上 stk[++tp] = i; diff --git a/docs/geometry/images/ch.png b/docs/geometry/images/ch.png new file mode 100644 index 0000000000000000000000000000000000000000..521744a81cd8b56b02565989c7a386e0da994748 GIT binary patch literal 12804 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 Q6^)Ucw6avubK`ga3uJIn2LJ#7 literal 0 HcmV?d00001 -- 2.11.0