From a3c9198048cf465a3c01827b3667edfc99d8031c Mon Sep 17 00:00:00 2001 From: MZuenni Date: Fri, 28 Jun 2024 13:45:57 +0200 Subject: update highly composite table --- math/tables/composite.tex | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'math') diff --git a/math/tables/composite.tex b/math/tables/composite.tex index b4c8294..b8f5428 100644 --- a/math/tables/composite.tex +++ b/math/tables/composite.tex @@ -1,26 +1,26 @@ -\begin{tabularx}{\linewidth}{|r|r|r|CICICICICICICICICICICIC|} +\begin{tabularx}{\linewidth}{|r||r|r||r|} \hline - \multicolumn{15}{|c|}{Highly Composite Numbers} \\ + \multicolumn{4}{|c|}{Important Numbers} \\ \hline - $10^x$ & Zahl & Teiler & 2 & 3 & 5 & 7 & 11 & 13 & 17 & 19 & 23 & 29 & 31 & 37 \\ + $10^x$ & Highly Composite & Divs & Prime \\ \hline - 1 & 6 & 4 & 1 & 1 & & & & & & & & & & \\ - 2 & 60 & 12 & 2 & 1 & 1 & & & & & & & & & \\ - 3 & 840 & 32 & 3 & 1 & 1 & 1 & & & & & & & &\\ - 4 & 7560 & 64 & 3 & 3 & 1 & 1 & & & & & & & & \\ - 5 & 83160 & 128 & 3 & 3 & 1 & 1 & 1 & & & & & & & \\ - 6 & 720720 & 240 & 4 & 2 & 1 & 1 & 1 & 1 & & & & & & \\ - 7 & 8648640 & 448 & 6 & 3 & 1 & 1 & 1 & 1 & & & & & & \\ - 8 & 73513440 & 768 & 5 & 3 & 1 & 1 & 1 & 1 & 1 & & & & & \\ - 9 & 735134400 & 1344 & 6 & 3 & 2 & 1 & 1 & 1 & 1 & & & & & \\ - 10 & 6983776800 & 2304 & 5 & 3 & 2 & 1 & 1 & 1 & 1 & 1 & & & & \\ - 11 & 97772875200 & 4032 & 6 & 3 & 2 & 2 & 1 & 1 & 1 & 1 & & & & \\ - 12 & 963761198400 & 6720 & 6 & 4 & 2 & 1 & 1 & 1 & 1 & 1 & 1 & & & \\ - 13 & 9316358251200 & 10752 & 6 & 3 & 2 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & & \\ - 14 & 97821761637600 & 17280 & 5 & 4 & 2 & 2 & 1 & 1 & 1 & 1 & 1 & 1 & & \\ - 15 & 866421317361600 & 26880 & 6 & 4 & 2 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & \\ - 16 & 8086598962041600 & 41472 & 8 & 3 & 2 & 2 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & \\ - 17 & 74801040398884800 & 64512 & 6 & 3 & 2 & 2 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\ - 18 & 897612484786617600 & 103680 & 8 & 4 & 2 & 2 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\ + $1$ & $6$ & $4$ & $10^{1}-~~3$ \\ + $2$ & $60$ & $12$ & $10^{2}-~~3$ \\ + $3$ & $840$ & $32$ & $10^{3}-~~3$ \\ + $4$ & $7~560$ & $64$ & $10^{4}- 27$ \\ + $5$ & $83~160$ & $128$ & $10^{5}-~~9$ \\ + $6$ & $720~720$ & $240$ & $10^{6}- 17$ \\ + $7$ & $8~648~640$ & $448$ & $10^{7}-~~9$ \\ + $8$ & $73~513~440$ & $768$ & $10^{8}- 11$ \\ + $9$ & $735~134~400$ & $1~344$ & $10^{9}- 63$ \\ + $10$ & $6~983~776~800$ & $2~304$ & $10^{10}- 33$ \\ + $11$ & $97~772~875~200$ & $4~032$ & $10^{11}- 23$ \\ + $12$ & $963~761~198~400$ & $6~720$ & $10^{12}- 11$ \\ + $13$ & $9~316~358~251~200$ & $10~752$ & $10^{13}- 29$ \\ + $14$ & $97~821~761~637~600$ & $17~280$ & $10^{14}- 27$ \\ + $15$ & $866~421~317~361~600$ & $26~880$ & $10^{15}- 11$ \\ + $16$ & $8~086~598~962~041~600$ & $41~472$ & $10^{16}- 63$ \\ + $17$ & $74~801~040~398~884~800$ & $64~512$ & $10^{17}-~~3$ \\ + $18$ & $897~612~484~786~617~600$ & $103~680$ & $10^{18}- 11$ \\ \hline \end{tabularx} -- cgit v1.2.3 From 9e8344e44eb06ac4a8618413ff2b2311c6348dad Mon Sep 17 00:00:00 2001 From: MZuenni Date: Fri, 28 Jun 2024 14:54:23 +0200 Subject: polishing --- datastructures/unionFind.cpp | 10 +++++++--- geometry/formulars.cpp | 2 +- geometry/geometry.tex | 4 ++-- geometry/linesAndSegments.cpp | 4 ++-- graph/graph.tex | 4 ++-- math/math.tex | 12 ++++++------ other/other.tex | 18 ++++++++++++------ string/string.tex | 4 ++-- tcr.pdf | Bin 664604 -> 666019 bytes 9 files changed, 34 insertions(+), 24 deletions(-) (limited to 'math') diff --git a/datastructures/unionFind.cpp b/datastructures/unionFind.cpp index 35843cd..68eef86 100644 --- a/datastructures/unionFind.cpp +++ b/datastructures/unionFind.cpp @@ -1,5 +1,5 @@ // unions[i] >= 0 => unions[i] = parent -// unions[i] < 0 => unions[i] = -height +// unions[i] < 0 => unions[i] = -size vector unions; void init(int n) { //Initialisieren @@ -11,12 +11,16 @@ int findSet(int n) { // Pfadkompression return unions[n] = findSet(unions[n]); } -void linkSets(int a, int b) { // Union by rank. +void linkSets(int a, int b) { // Union by size. if (unions[b] > unions[a]) swap(a, b); - if (unions[b] == unions[a]) unions[b]--; + unions[b] += unions[a]; unions[a] = b; } void unionSets(int a, int b) { // Diese Funktion aufrufen. if (findSet(a) != findSet(b)) linkSets(findSet(a), findSet(b)); } + +int size(int a) { + return -unions[findSet(a)]; +} diff --git a/geometry/formulars.cpp b/geometry/formulars.cpp index e34b3c6..22e9e32 100644 --- a/geometry/formulars.cpp +++ b/geometry/formulars.cpp @@ -34,7 +34,7 @@ bool isCoplanar(pt a, pt b, pt c, pt d) { return abs((b - a) * (c - a) * (d - a)) < EPS; } -// identifiziert winkel zwischen Vektoren u und v +// charakterisiert winkel zwischen Vektoren u und v pt uniqueAngle(pt u, pt v) { pt tmp = v * conj(u); ll g = abs(gcd(real(tmp), imag(tmp))); diff --git a/geometry/geometry.tex b/geometry/geometry.tex index d753ed6..95c0adb 100644 --- a/geometry/geometry.tex +++ b/geometry/geometry.tex @@ -17,10 +17,10 @@ \begin{algorithm}{Konvexehülle} \begin{methods} - \method{convexHull}{berechnet Konvexehülle}{n\*\log(n)} + \method{convexHull}{berechnet konvexe Hülle}{n\*\log(n)} \end{methods} \begin{itemize} - \item Konvexehülle gegen den Uhrzeigersinn sortiert + \item Konvexe Hülle gegen den Uhrzeigersinn sortiert \item nur Eckpunkte enthalten(für alle Punkte = im CCW Test entfernen) \item erster und letzter Punkt sind identisch \end{itemize} diff --git a/geometry/linesAndSegments.cpp b/geometry/linesAndSegments.cpp index c86b331..98fe4dc 100644 --- a/geometry/linesAndSegments.cpp +++ b/geometry/linesAndSegments.cpp @@ -31,12 +31,12 @@ vector lineSegmentIntersection(pt p0, pt p1, pt p2, pt p3) { return result; } -// Entfernung von Punkt p zur Gearden durch a-b. 2d und 3d +// Entfernung von Punkt p zur Geraden durch a-b. 2d und 3d double distToLine(pt a, pt b, pt p) { return abs(cross(p - a, b - a)) / abs(b - a); } -// Projektiert p auf die Gerade a-b +// Projiziert p auf die Gerade a-b pt projectToLine(pt a, pt b, pt p) { return a + (b - a) * dot(p - a, b - a) / norm(b - a); } diff --git a/graph/graph.tex b/graph/graph.tex index 060d157..0f516ac 100644 --- a/graph/graph.tex +++ b/graph/graph.tex @@ -88,7 +88,7 @@ Sei $d_{i\smash{j}}$ die Distanzmatrix von $G$, dann gibt $d_{i\smash{j}}^k$ die kürzeste Distanz von $i$ nach $j$ mit maximal $k$ kanten an mit der Verknüpfung: $c_{i\smash{j}} = a_{i\smash{j}} \otimes b_{i\smash{j}} = \min\{a_{ik} \cdot b_{k\smash{j}}\}$ -Sei $a_{ij}$ die Adjazenzmatrix von $G$ \textcolor{gray}{(mit $a_{ii} = 1$)}, dann gibt $a_{i\smash{j}}^k$ die Anzahl der Wege von $i$ nach $j$ mit Länge genau \textcolor{gray}{(maximal)} $k$ an mit der Verknüpfung: $c_{i\smash{j}} = a_{i\smash{j}} \otimes b_{i\smash{j}} = \sum a_{ik} + b_{k\smash{j}}$ +Sei $a_{ij}$ die Adjazenzmatrix von $G$ \textcolor{gray}{(mit $a_{ii} = 1$)}, dann gibt $a_{i\smash{j}}^k$ die Anzahl der Wege von $i$ nach $j$ mit Länge genau \textcolor{gray}{(maximal)} $k$ an mit der Verknüpfung: $c_{i\smash{j}} = a_{i\smash{j}} \otimes b_{i\smash{j}} = \sum a_{ik} \cdot b_{k\smash{j}}$ \begin{algorithm}{Dynamic Connectivity} \begin{methods} @@ -175,7 +175,7 @@ Sei $a_{ij}$ die Adjazenzmatrix von $G$ \textcolor{gray}{(mit $a_{ii} = 1$)}, da \method{kuhn}{berechnet Matching}{\abs{V}\*\min(ans^2, \abs{E})} \end{methods} \begin{itemize} - \item die ersten [0..n) Knoten in \code{adj} sind die linke Seite des Graphen + \item die ersten [0..l) Knoten in \code{adj} sind die linke Seite des Graphen \end{itemize} \sourcecode{graph/maxCarBiMatch.cpp} \begin{methods} diff --git a/math/math.tex b/math/math.tex index f9a5ea5..dc0eb00 100644 --- a/math/math.tex +++ b/math/math.tex @@ -172,7 +172,7 @@ sich alle Lösungen von $x^2-ny^2=c$ berechnen durch: \textbf{Wichtig:} Sieb rechts ist schneller für \code{isPrime} oder \code{primes}! \sourcecode{math/linearSieve.cpp} - \textbf{\textsc{Möbius} Funtkion:} + \textbf{\textsc{Möbius}-Funtkion:} \begin{itemize} \item $\mu(n)=+1$, falls $n$ quadratfrei ist und gerade viele Primteiler hat \item $\mu(n)=-1$, falls $n$ quadratfrei ist und ungerade viele Primteiler hat @@ -313,16 +313,16 @@ sich alle Lösungen von $x^2-ny^2=c$ berechnen durch: \sourcecode{math/piLehmer.cpp} } -\begin{algorithm}{Lineare-Recurenz} +\begin{algorithm}{Lineare Rekurrenz} \begin{methods} - \method{BerlekampMassey}{Berechnet eine lineare Recurenz $n$-ter Ordnung}{n^2} + \method{BerlekampMassey}{Berechnet eine lineare Rekurrenz $n$-ter Ordnung}{n^2} \method{}{aus den ersten $2n$ Werte}{} \end{methods} \sourcecode{math/berlekampMassey.cpp} - Sei $f(n)=c_{n-1}f(n-1)+c_{n-2}f(n-2)+\dots + c_0f(0)$ eine lineare Recurenz. + Sei $f(n)=c_{n-1}f(n-1)+c_{n-2}f(n-2)+\dots + c_0f(0)$ eine lineare Rekurrenz. \begin{methods} - \method{kthTerm}{Berechnet $k$-ten Term einer Recurenz $n$-ter Ordnung}{\log(k)\cdot n^2} + \method{kthTerm}{Berechnet $k$-ten Term einer Rekurrenz $n$-ter Ordnung}{\log(k)\cdot n^2} \end{methods} \sourcecode{math/linearRecurence.cpp} Alternativ kann der \mbox{$k$-te} Term in \runtime{n^3\log(k)} berechnet werden: @@ -332,7 +332,7 @@ sich alle Lösungen von $x^2-ny^2=c$ berechnen durch: c_{n-1} & c_{n-2} & \smash{\cdots} & \smash{\cdots} & c_0 \\ 1 & 0 & \smash{\cdots} & \smash{\cdots} & 0 \\ 0 & \smash{\ddots} & \smash{\ddots} & & \smash{\vdots} \\ - 0 & \smash{\ddots} & \smash{\ddots} & \smash{\ddots} & \smash{\vdots} \\ + \smash{\vdots} & \smash{\ddots} & \smash{\ddots} & \smash{\ddots} & \smash{\vdots} \\ 0 & \smash{\cdots} & 0 & 1 & 0 \\ \end{pmatrix}^k \times~~ diff --git a/other/other.tex b/other/other.tex index 808d288..a21eb37 100644 --- a/other/other.tex +++ b/other/other.tex @@ -9,7 +9,7 @@ \end{algorithm} \begin{algorithm}{Timed} - Kann benutzt werdem un randomisierte Algorithmen so lange wie möglich laufen zu lassen. + Kann benutzt werden um randomisierte Algorithmen so lange wie möglich laufen zu lassen. \sourcecode{other/timed.cpp} \end{algorithm} @@ -23,7 +23,7 @@ Bit an Position j flippen & \code{x ^= (1 << j)} \\ Anzahl an führenden nullen ($x \neq 0$) & \code{__builtin_clzll(x)} \\ Anzahl an schließenden nullen ($x \neq 0$) & \code{__builtin_ctzll(x)} \\ - Anzahl an bits & \code{__builtin_popcountll(x)} \\ + Anzahl an \code{1} bits & \code{__builtin_popcountll(x)} \\ $i$-te Zahl eines Graycodes & \code{i ^ (i >> 1)} \\ \hline \end{tabularx}\\ @@ -259,7 +259,7 @@ \subsection{Tipps \& Tricks} \begin{itemize} - \item Run Time Error: + \item \textbf{Run Time Error:} \begin{itemize} \item Stack Overflow? Evtl. rekursive Tiefensuche auf langem Pfad? \item Array-Grenzen überprüfen. Indizierung bei $0$ oder bei $1$ beginnen? @@ -267,13 +267,19 @@ \item Evtl. Memory Limit Exceeded? Mit \code{/usr/bin/time -v} erhält man den maximalen Speicherverbrauch bei der Ausführung (Maximum resident set size). \end{itemize} - \item Strings: + \item \textbf{Strings:} \begin{itemize} \item Soll \codeSafe{"aa"} kleiner als \codeSafe{"z"} sein oder nicht? \item bit \code{0x20} beeinflusst Groß-/Kleinschreibung. \end{itemize} + + \item \textbf{Zeilenbasierte Eingabe}: + \begin{itemize} + \item \code{getline(cin, str)} liest Zeile ein. + \item Wenn vorher \code{cin >> ...} benutzt, lese letztes \code{\\n} mit \code{getline(cin, x)}. + \end{itemize} - \item Gleitkommazahlen: + \item \textbf{Gleitkommazahlen:} \begin{itemize} \item \code{NaN}? Evtl. ungültige Werte für mathematische Funktionen, z.B. \mbox{\code{acos(1.00000000000001)}}? \item Falsches Runden bei negativen Zahlen? Abschneiden $\neq$ Abrunden! @@ -281,7 +287,7 @@ \item Kann \code{-0.000} ausgegeben werden? \end{itemize} - \item Wrong Answer: + \item \textbf{Wrong Answer:} \begin{itemize} \item Lies Aufgabe erneut. Sorgfältig! \item Mehrere Testfälle in einer Datei? Probiere gleichen Testcase mehrfach hintereinander. diff --git a/string/string.tex b/string/string.tex index 393c2ad..dbea36c 100644 --- a/string/string.tex +++ b/string/string.tex @@ -35,7 +35,7 @@ \begin{algorithm}{\textsc{Manacher}'s Algorithm, Longest Palindrome} \begin{methods} \method{init}{transformiert \code{string a}}{n} - \method{manacher}{berechnet Länge der Palindrome}{n} + \method{manacher}{berechnet Längen der Palindrome in longest}{n} \end{methods} \sourcecode{string/manacher.cpp} \end{algorithm} @@ -90,7 +90,7 @@ \begin{algorithm}{Suffix-Array} \begin{methods} \method{SuffixArray}{berechnet ein Suffix Array}{\abs{s}\*\log^2(\abs{s})} - \method{lcp}{berechnet den longest common prefix}{\log(\abs{s})} + \method{lcp}{berechnet Länge des longest common prefix}{\log(\abs{s})} \method{}{von \code{s[x]} und \code{s[y]}}{} \end{methods} \sourcecode{string/suffixArray.cpp} diff --git a/tcr.pdf b/tcr.pdf index 63ebc4a..7114518 100644 Binary files a/tcr.pdf and b/tcr.pdf differ -- cgit v1.2.3 From 545265f2f3992e15c45f1bbb99e04a27e1fc7856 Mon Sep 17 00:00:00 2001 From: mzuenni Date: Sun, 30 Jun 2024 00:26:10 +0200 Subject: improvements --- datastructures/datastructures.tex | 1 + graph/LCA_sparse.cpp | 2 +- graph/cycleCounting.cpp | 2 +- graph/graph.tex | 4 ++-- graph/matching.cpp | 2 +- latexHeaders/commands.sty | 5 +++++ math/discreteNthRoot.cpp | 2 +- math/inversions.cpp | 2 +- math/lgsFp.cpp | 2 +- math/math.tex | 2 +- other/other.tex | 2 +- tcr.pdf | Bin 666019 -> 665586 bytes 12 files changed, 16 insertions(+), 10 deletions(-) (limited to 'math') diff --git a/datastructures/datastructures.tex b/datastructures/datastructures.tex index 1ccefaa..d35dfb0 100644 --- a/datastructures/datastructures.tex +++ b/datastructures/datastructures.tex @@ -22,6 +22,7 @@ \end{methods} \sourcecode{datastructures/waveletTree.cpp} \end{algorithm} +\columnbreak \begin{algorithm}{Fenwick Tree} \begin{methods} diff --git a/graph/LCA_sparse.cpp b/graph/LCA_sparse.cpp index 2a864c0..649e697 100644 --- a/graph/LCA_sparse.cpp +++ b/graph/LCA_sparse.cpp @@ -2,7 +2,7 @@ struct LCA { vector depth; vector visited, first; int idx; - SparseTable st; //sparse table von oben + SparseTable st; //sparse table @\sourceref{datastructures/sparseTable.cpp}@ void init(vector>& adj, int root) { depth.assign(2 * sz(adj), 0); diff --git a/graph/cycleCounting.cpp b/graph/cycleCounting.cpp index 9772706..bd7a219 100644 --- a/graph/cycleCounting.cpp +++ b/graph/cycleCounting.cpp @@ -39,7 +39,7 @@ struct cylces { //cycle must be constrcuted from base bool isCycle(cycle cur) { if (cur.none()) return false; - init(sz(adj)); // union find + init(sz(adj)); // union find @\sourceref{datastructures/unionFind.cpp}@ for (int i = 0; i < sz(edges); i++) { if (cur[i]) { cur[i] = false; diff --git a/graph/graph.tex b/graph/graph.tex index 0f516ac..9232090 100644 --- a/graph/graph.tex +++ b/graph/graph.tex @@ -225,7 +225,7 @@ Sei $a_{ij}$ die Adjazenzmatrix von $G$ \textcolor{gray}{(mit $a_{ii} = 1$)}, da \method{addEdge}{fügt eine \textbf{gerichtete} Kante ein}{1} \end{methods} \sourcecode{graph/dinicScaling.cpp} -\vfill* +\vfill\null \columnbreak \optional{ @@ -256,7 +256,7 @@ Sei $a_{ij}$ die Adjazenzmatrix von $G$ \textcolor{gray}{(mit $a_{ii} = 1$)}, da \end{methods} \sourcecode{graph/maxWeightBipartiteMatching.cpp} \end{algorithm} -\vfill* +\vfill\null \columnbreak diff --git a/graph/matching.cpp b/graph/matching.cpp index f059351..2513604 100644 --- a/graph/matching.cpp +++ b/graph/matching.cpp @@ -12,7 +12,7 @@ int max_matching() { mat[v][u] = rand() % (MOD - 1) + 1; mat[u][v] = MOD - mat[v][u]; }}} - gauss(sz(adj), MOD); //LGS unten + gauss(sz(adj), MOD); //LGS @\sourceref{math/lgsFp.cpp}@ int rank = 0; for (auto& row : mat) { if (*min_element(all(row)) != 0) rank++; diff --git a/latexHeaders/commands.sty b/latexHeaders/commands.sty index da78745..edbba1b 100644 --- a/latexHeaders/commands.sty +++ b/latexHeaders/commands.sty @@ -30,12 +30,17 @@ %\ifthenelse{\equal{#3}{}}{}{\runtime{#3}} \newcommand{\sourcecode}[1]{% + \label{code:#1}% \nobreak% % \needspace{3\baselineskip}% % \nopagebreak% \lstinputlisting{#1}% \penalty -1000% } +\newcommand{\sourceref}[1]{{% + \color{comment}\bfseries\itshape{}Seite \pageref{code:#1}% +}} + \newcommand{\method}[4][]{\texttt{#2}~~#3~~\runtime{#4}#1\par} \newenvironment{methods}[1][lll]{% diff --git a/math/discreteNthRoot.cpp b/math/discreteNthRoot.cpp index 9249f73..7201b2b 100644 --- a/math/discreteNthRoot.cpp +++ b/math/discreteNthRoot.cpp @@ -1,5 +1,5 @@ ll root(ll a, ll b, ll m) { ll g = findPrimitive(m); - ll c = dlog(powMod(g, a, m), b, m); //diskreter logarithmus + ll c = dlog(powMod(g, a, m), b, m); //dLog @\sourceref{math/discreteLogarithm.cpp}@ return c < 0 ? -1 : powMod(g, c, m); } diff --git a/math/inversions.cpp b/math/inversions.cpp index 051408c..9e47f9b 100644 --- a/math/inversions.cpp +++ b/math/inversions.cpp @@ -1,5 +1,5 @@ ll inversions(const vector& v) { - Tree> t; //ordered statistics tree + Tree> t; //ordered statistics tree @\sourceref{datastructures/pbds.cpp}@ ll res = 0; for (ll i = 0; i < sz(v); i++) { res += i - t.order_of_key({v[i], i}); diff --git a/math/lgsFp.cpp b/math/lgsFp.cpp index 7dcd354..7081fea 100644 --- a/math/lgsFp.cpp +++ b/math/lgsFp.cpp @@ -23,4 +23,4 @@ void gauss(int n, ll mod) { takeAll(n, i, mod); done[i] = true; }} -// für Eindeutigkeit, Existenz etc. siehe LGS +// für Eindeutigkeit, Existenz etc. siehe LGS über R diff --git a/math/math.tex b/math/math.tex index dc0eb00..c157e1b 100644 --- a/math/math.tex +++ b/math/math.tex @@ -257,7 +257,7 @@ sich alle Lösungen von $x^2-ny^2=c$ berechnen durch: %\textcolor{safeOrange}{$\blacksquare$} NTT code, %\textcolor{safeGreen}{$\blacksquare$} FFT code \sourcecode{math/transforms/fft.cpp} \sourcecode{math/transforms/ntt.cpp} - \vfill* + \vfill\null \columnbreak \sourcecode{math/transforms/bitwiseTransforms.cpp} Multiplikation mit 2 transforms statt 3: (nur benutzten wenn nötig!) diff --git a/other/other.tex b/other/other.tex index a21eb37..38434a5 100644 --- a/other/other.tex +++ b/other/other.tex @@ -227,7 +227,7 @@ \item \textbf{Centroid Decomposition:} Wähle zufälligen Knoten und mache DFS. Verschiebe ausgewählten Knoten in Richtung des tiefsten Teilbaums, bis Centroid gefunden. Entferne Knoten, mache rekursiv in Teilbäumen weiter. Laufzeit:~\runtime{\abs{V} \cdot \log(\abs{V})}. - \item \textbf{Gregorian Calendar:} Der Anfangstag des Jahres verhält sich periodisch alle $400$ Jahre. + \item \textbf{Gregorian Calendar:} Der Anfangstag des Jahres ist alle $400$ Jahre gleich. \item \textbf{Pivotsuche und Rekursion auf linkem und rechtem Teilarray:} Suche gleichzeitig von links und rechts nach Pivot, um Worst Case von diff --git a/tcr.pdf b/tcr.pdf index 7114518..ec0e434 100644 Binary files a/tcr.pdf and b/tcr.pdf differ -- cgit v1.2.3