diff options
| author | Paul Jungeblut <paul.jungeblut@gmail.com> | 2016-10-02 18:40:00 +0200 |
|---|---|---|
| committer | Paul Jungeblut <paul.jungeblut@gmail.com> | 2016-10-02 18:40:00 +0200 |
| commit | 3ef01f79baa2dd8c391e31c2a6fd02b97cdb75ec (patch) | |
| tree | fa3d4b23f64213c184137d2c897cee7092ff7d4b | |
| parent | 67769117dcba2cac127f32c5923cbac8c5017db9 (diff) | |
Smaller code for segtree.
| -rw-r--r-- | datastructures/segmentTree.cpp | 11 | ||||
| -rw-r--r-- | tcr.pdf | bin | 269660 -> 268871 bytes | |||
| -rw-r--r-- | tcr.tex | 2 |
3 files changed, 3 insertions, 10 deletions
diff --git a/datastructures/segmentTree.cpp b/datastructures/segmentTree.cpp index 93a2ceb..cb303d1 100644 --- a/datastructures/segmentTree.cpp +++ b/datastructures/segmentTree.cpp @@ -11,11 +11,7 @@ int query(int x, int y, int k = 0, int X = 0, int Y = MAX_N - 1) { void update(int i, int v, int k = 0, int X = 0, int Y = MAX_N - 1) { if (i < X || Y < i) return; - if (X == Y) { - m[k] = v; - a[i] = v; - return; - } + if (X == Y) { m[k] = v; a[i] = v; return; } int M = (X + Y) / 2; update(i, v, 2 * k + 1, X, M); update(i, v, 2 * k + 2, M + 1, Y); @@ -24,10 +20,7 @@ void update(int i, int v, int k = 0, int X = 0, int Y = MAX_N - 1) { // Einmal vor allen anderen Operationen aufrufen. void init(int k = 0, int X = 0, int Y = MAX_N - 1) { - if (X == Y) { - m[k] = a[X]; - return; - } + if (X == Y) { m[k] = a[X]; return; } int M = (X + Y) / 2; init(2 * k + 1, X, M); init(2 * k + 2, M + 1, Y); Binary files differ@@ -67,7 +67,7 @@ } % Don't waste space at the page borders. -\usepackage[top=2cm, bottom=2cm, left=2cm, right=1cm]{geometry} +\usepackage[top=2cm, bottom=1cm, left=1cm, right=1cm]{geometry} % Multicol layout for the table of contents. \usepackage{multicol} |
