From 3d816ef851792b352293b73537564c705635ba26 Mon Sep 17 00:00:00 2001 From: zet Date: Tue, 28 Nov 2017 08:57:07 +0800 Subject: [PATCH] add algorithms --- doc/aa.png | Bin 0 -> 17652 bytes doc/effecient-RAP.md | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 doc/aa.png diff --git a/doc/aa.png b/doc/aa.png new file mode 100644 index 0000000000000000000000000000000000000000..ff14b282c8cc66883e6f44eb7f18c85b5a3d0a9f GIT binary patch literal 17652 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

DfR8 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