Compare commits

..

3 Commits

65 changed files with 183 additions and 10323 deletions

View File

@ -1,16 +1,22 @@
# Competitive Programmer's Handbook -- SOI Edition
# Competitive Programmer's Handbook
Competitive Programmer's Handbook is a modern introduction to competitive programming.
The book discusses programming tricks and algorithm design techniques relevant in competitive programming.
We adapted it to fit our SOI training.
## CSES Problem Set
## Credits
The CSES Problem Set contains a collection of competitive programming problems.
You can practice the techniques presented in the book by solving the problems.
All credits belong to Antti Laaksonen.
See original: https://github.com/pllk/cphb
https://cses.fi/problemset/
## License
The license of the book is Creative Commons BY-NC-SA.
## Other books
Guide to Competitive Programming is a printed book, published by Springer, based on Competitive Programmer's Handbook.
There is also a Russian edition Олимпиадное программирование (Olympiad Programming) and a Korean edition 알고리즘 트레이닝: 프로그래밍 대회 입문 가이드.
https://cses.fi/book/

BIN
book.pdf

Binary file not shown.

View File

@ -8,7 +8,7 @@
\usepackage[table]{xcolor}
\usepackage{tikz}
\usepackage{multicol}
\usepackage{hyperref}
\usepackage[colorlinks=true]{hyperref}
\usepackage{array}
\usepackage{microtype}
@ -53,12 +53,12 @@
stringstyle=\color{strings}
}
\date{Draft \today}
\date{modified by Johannes Kapfhammer, February 2021}
\usepackage[a4paper,vmargin=30mm,hmargin=33mm,footskip=15mm]{geometry}
\title{\Huge Competitive Programmer's Handbook}
\author{\Large Antti Laaksonen}
\title{\Huge SOI Camp 2021 -- Graph Day}
\author{\Large Competitive Programmers Handbook by Antti Laaksonen}
\makeindex
\usepackage[totoc]{idxlayout}
@ -86,39 +86,47 @@
\newcommand{\key}[1] {\textbf{#1}}
\part{Basic techniques}
\include{chapter01}
\include{chapter02}
\include{chapter03}
\include{chapter04}
\include{chapter05}
\include{chapter06}
\include{chapter07}
\include{chapter08}
\include{chapter09}
\include{chapter10}
\part{Graph algorithms}
%\part{Basic techniques}
%\include{chapter01}
%\include{chapter02}
%\include{chapter03}
%\include{chapter04}
%\include{chapter05}
%\include{chapter06}
%\include{chapter07}
%\include{chapter08}
%\include{chapter09}
%\include{chapter10}
\part{Main Topics}
\include{chapter11}
\include{chapter12}
\include{chapter13}
\include{chapter14}
\include{chapter15}
\include{chapter16}
%\include{chapter20}
\chapter{State Graphs}
Please watch the video about state graphs.\\
\url{https://www.youtube.com/watch?v=RdK3b9QWs94}
\part{Advanced topics}
\include{chapter15}
\include{chapter17}
\include{chapter18}
\chapter{Bridges and Articulation Points}
Please read our wiki: \url{https://soi.ch/wiki/bridges-articulationpoints/}
\include{chapter19}
\include{chapter20}
\part{Advanced topics}
\include{chapter21}
\include{chapter22}
\include{chapter23}
\include{chapter24}
\include{chapter25}
\include{chapter26}
\include{chapter27}
\include{chapter28}
\include{chapter29}
\include{chapter30}
% \part{Advanced topics}
%\include{chapter21}
%\include{chapter22}
%\include{chapter23}
%\include{chapter24}
%\include{chapter25}
%\include{chapter26}
%\include{chapter27}
%\include{chapter28}
%\include{chapter29}
%\include{chapter30}
\cleardoublepage
\phantomsection

View File

@ -29,6 +29,10 @@ the number of edges.
The nodes are numbered
using integers $1,2,\ldots,n$.
Note: at SOI we usually say \key{vertex} (plural \key{vertices}) instead of \key{node}.
Vertex and node can be used interchangeably.
We also like to number the vertices 0-based as $0,1,\ldots,n-1$.
For example, the following graph consists of 5 nodes and 7 edges:
\begin{center}
@ -51,9 +55,11 @@ For example, the following graph consists of 5 nodes and 7 edges:
\index{path}
A \key{path} leads from node $a$ to node $b$
A \key{walk} leads from node $a$ to node $b$
through edges of the graph.
The \key{length} of a path is the number of
A \key{path} is a walk where each node appears
at most once in the path.
The \key{length} of a path (or a walk) is the number of
edges in it.
For example, the above graph contains
a path $1 \rightarrow 3 \rightarrow 4 \rightarrow 5$
@ -84,12 +90,10 @@ from node 1 to node 5:
\index{cycle}
A path is a \key{cycle} if the first and last
node is the same.
A \key{cycle} is a walk where the first and last
node is the same, and every other vertex appears at most once.
For example, the above graph contains
a cycle $1 \rightarrow 3 \rightarrow 4 \rightarrow 1$.
A path is \key{simple} if each node appears
at most once in the path.
%
@ -478,21 +482,19 @@ way to represent graphs, and most algorithms can be
efficiently implemented using them.
A convenient way to store the adjacency lists is to declare
an array of vectors as follows:
a vector of vectors as follows:
\begin{lstlisting}
vector<int> adj[N];
vector<vector<int>> g;
\end{lstlisting}
The constant $N$ is chosen so that all
adjacency lists can be stored.
For example, the graph
\begin{center}
\begin{tikzpicture}[scale=0.9]
\node[draw, circle] (1) at (1,3) {$1$};
\node[draw, circle] (2) at (3,3) {$2$};
\node[draw, circle] (3) at (5,3) {$3$};
\node[draw, circle] (4) at (3,1) {$4$};
\node[draw, circle] (1) at (1,3) {$0$};
\node[draw, circle] (2) at (3,3) {$1$};
\node[draw, circle] (3) at (5,3) {$2$};
\node[draw, circle] (4) at (3,1) {$3$};
\path[draw,thick,->,>=latex] (1) -- (2);
\path[draw,thick,->,>=latex] (2) -- (3);
@ -503,11 +505,12 @@ For example, the graph
\end{center}
can be stored as follows:
\begin{lstlisting}
adj[1].push_back(2);
adj[2].push_back(3);
adj[2].push_back(4);
adj[3].push_back(4);
adj[4].push_back(1);
g.assign(4, {}); // g now consists of 4 empty arrays
g[0].push_back(1);
g[1].push_back(2);
g[1].push_back(3);
g[2].push_back(3);
g[3].push_back(0);
\end{lstlisting}
If the graph is undirected, it can be stored in a similar way,
@ -517,7 +520,7 @@ For a weighted graph, the structure can be extended
as follows:
\begin{lstlisting}
vector<pair<int,int>> adj[N];
vector<vector<pair<int,int>>> g;
\end{lstlisting}
In this case, the adjacency list of node $a$
@ -527,10 +530,10 @@ with weight $w$. For example, the graph
\begin{center}
\begin{tikzpicture}[scale=0.9]
\node[draw, circle] (1) at (1,3) {$1$};
\node[draw, circle] (2) at (3,3) {$2$};
\node[draw, circle] (3) at (5,3) {$3$};
\node[draw, circle] (4) at (3,1) {$4$};
\node[draw, circle] (1) at (1,3) {$0$};
\node[draw, circle] (2) at (3,3) {$1$};
\node[draw, circle] (3) at (5,3) {$2$};
\node[draw, circle] (4) at (3,1) {$3$};
\path[draw,thick,->,>=latex] (1) -- node[font=\small,label=above:5] {} (2);
\path[draw,thick,->,>=latex] (2) -- node[font=\small,label=above:7] {} (3);
@ -541,11 +544,12 @@ with weight $w$. For example, the graph
\end{center}
can be stored as follows:
\begin{lstlisting}
adj[1].push_back({2,5});
adj[2].push_back({3,7});
adj[2].push_back({4,6});
adj[3].push_back({4,5});
adj[4].push_back({1,2});
g.assign(4, {});
g[0].emplace_back(1,5);
g[1].emplace_back(2,7);
g[1].emplace_back(3,6);
g[2].emplace_back(3,5);
g[3].emplace_back(0,2);
\end{lstlisting}
The benefit of using adjacency lists is that
@ -555,7 +559,7 @@ For example, the following loop goes through all nodes
to which we can move from node $s$:
\begin{lstlisting}
for (auto u : adj[s]) {
for (auto u : g[s]) {
// process node u
}
\end{lstlisting}
@ -570,7 +574,8 @@ We can efficiently check from an adjacency matrix
if there is an edge between two nodes.
The matrix can be stored as an array
\begin{lstlisting}
int adj[N][N];
vector<vector<int>> adj;
adj.assign(n, vector<int>(n, 0));
\end{lstlisting}
where each value $\texttt{adj}[a][b]$ indicates
whether the graph contains an edge from
@ -581,10 +586,10 @@ and otherwise $\texttt{adj}[a][b]=0$.
For example, the graph
\begin{center}
\begin{tikzpicture}[scale=0.9]
\node[draw, circle] (1) at (1,3) {$1$};
\node[draw, circle] (2) at (3,3) {$2$};
\node[draw, circle] (3) at (5,3) {$3$};
\node[draw, circle] (4) at (3,1) {$4$};
\node[draw, circle] (1) at (1,3) {$0$};
\node[draw, circle] (2) at (3,3) {$1$};
\node[draw, circle] (3) at (5,3) {$2$};
\node[draw, circle] (4) at (3,1) {$3$};
\path[draw,thick,->,>=latex] (1) -- (2);
\path[draw,thick,->,>=latex] (2) -- (3);
@ -704,10 +709,10 @@ Thus, the graph
\begin{center}
\begin{tikzpicture}[scale=0.9]
\node[draw, circle] (1) at (1,3) {$1$};
\node[draw, circle] (2) at (3,3) {$2$};
\node[draw, circle] (3) at (5,3) {$3$};
\node[draw, circle] (4) at (3,1) {$4$};
\node[draw, circle] (1) at (1,3) {$0$};
\node[draw, circle] (2) at (3,3) {$1$};
\node[draw, circle] (3) at (5,3) {$2$};
\node[draw, circle] (4) at (3,1) {$3$};
\path[draw,thick,->,>=latex] (1) -- (2);
\path[draw,thick,->,>=latex] (2) -- (3);
@ -718,11 +723,11 @@ Thus, the graph
\end{center}
can be represented as follows:
\begin{lstlisting}
edges.push_back({1,2});
edges.push_back({2,3});
edges.push_back({2,4});
edges.push_back({3,4});
edges.push_back({4,1});
edges.emplace_back(0,2);
edges.emplace_back(1,3);
edges.emplace_back(1,4);
edges.emplace_back(2,4);
edges.emplace_back(3,1);
\end{lstlisting}
\noindent
@ -738,10 +743,10 @@ For example, the graph
\begin{center}
\begin{tikzpicture}[scale=0.9]
\node[draw, circle] (1) at (1,3) {$1$};
\node[draw, circle] (2) at (3,3) {$2$};
\node[draw, circle] (3) at (5,3) {$3$};
\node[draw, circle] (4) at (3,1) {$4$};
\node[draw, circle] (1) at (1,3) {$0$};
\node[draw, circle] (2) at (3,3) {$1$};
\node[draw, circle] (3) at (5,3) {$2$};
\node[draw, circle] (4) at (3,1) {$3$};
\path[draw,thick,->,>=latex] (1) -- node[font=\small,label=above:5] {} (2);
\path[draw,thick,->,>=latex] (2) -- node[font=\small,label=above:7] {} (3);
@ -751,14 +756,14 @@ For example, the graph
\end{tikzpicture}
\end{center}
\begin{samepage}
can be represented as follows\footnote{In some older compilers, the function
\texttt{make\_tuple} must be used instead of the braces (for example,
\texttt{make\_tuple(1,2,5)} instead of \texttt{\{1,2,5\}}).}:
can be represented as follows\footnote{Instead of \texttt{emplace\_back(0,2,5)},
one could also write \texttt{edges.push\_back(\{0,2,5\})} or
\texttt{edges.push\_back(make\_tuple(0,2,5))}, however, using \texttt{emplace\_back} is generally preferred.}:
\begin{lstlisting}
edges.push_back({1,2,5});
edges.push_back({2,3,7});
edges.push_back({2,4,6});
edges.push_back({3,4,5});
edges.push_back({4,1,2});
edges.emplace_back(0,2,5);
edges.emplace_back(1,3,7);
edges.emplace_back(1,4,6);
edges.emplace_back(2,4,5);
edges.emplace_back(3,1,2);
\end{lstlisting}
\end{samepage}

View File

@ -129,11 +129,11 @@ a depth-first search at a given node.
The function assumes that the graph is
stored as adjacency lists in an array
\begin{lstlisting}
vector<int> adj[N];
vector<vector<int>> g;
\end{lstlisting}
and also maintains an array
\begin{lstlisting}
bool visited[N];
vector<bool> visited;
\end{lstlisting}
that keeps track of the visited nodes.
Initially, each array value is \texttt{false},
@ -145,7 +145,7 @@ void dfs(int s) {
if (visited[s]) return;
visited[s] = true;
// process node s
for (auto u: adj[s]) {
for (auto u : g[s]) {
dfs(u);
}
}
@ -312,8 +312,8 @@ as adjacency lists and maintains the following
data structures:
\begin{lstlisting}
queue<int> q;
bool visited[N];
int distance[N];
vector<bool> visited(n);
vector<int> distance(N);
\end{lstlisting}
The queue \texttt{q}
@ -336,7 +336,7 @@ q.push(x);
while (!q.empty()) {
int s = q.front(); q.pop();
// process node s
for (auto u : adj[s]) {
for (auto u : g[s]) {
if (visited[u]) continue;
visited[u] = true;
distance[u] = distance[s]+1;

View File

@ -20,313 +20,6 @@ where more sophisticated algorithms
are needed
for finding shortest paths.
\section{BellmanFord algorithm}
\index{BellmanFord algorithm}
The \key{BellmanFord algorithm}\footnote{The algorithm is named after
R. E. Bellman and L. R. Ford who published it independently
in 1958 and 1956, respectively \cite{bel58,for56a}.} finds
shortest paths from a starting node to all
nodes of the graph.
The algorithm can process all kinds of graphs,
provided that the graph does not contain a
cycle with negative length.
If the graph contains a negative cycle,
the algorithm can detect this.
The algorithm keeps track of distances
from the starting node to all nodes of the graph.
Initially, the distance to the starting node is 0
and the distance to all other nodes in infinite.
The algorithm reduces the distances by finding
edges that shorten the paths until it is not
possible to reduce any distance.
\subsubsection{Example}
Let us consider how the BellmanFord algorithm
works in the following graph:
\begin{center}
\begin{tikzpicture}
\node[draw, circle] (1) at (1,3) {1};
\node[draw, circle] (2) at (4,3) {2};
\node[draw, circle] (3) at (1,1) {3};
\node[draw, circle] (4) at (4,1) {4};
\node[draw, circle] (5) at (6,2) {6};
\node[color=red] at (1,3+0.55) {$0$};
\node[color=red] at (4,3+0.55) {$\infty$};
\node[color=red] at (1,1-0.55) {$\infty$};
\node[color=red] at (4,1-0.55) {$\infty$};
\node[color=red] at (6,2-0.55) {$\infty$};
\path[draw,thick,-] (1) -- node[font=\small,label=above:5] {} (2);
\path[draw,thick,-] (1) -- node[font=\small,label=left:3] {} (3);
\path[draw,thick,-] (3) -- node[font=\small,label=below:1] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=left:3] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=above:2] {} (5);
\path[draw,thick,-] (4) -- node[font=\small,label=below:2] {} (5);
\path[draw,thick,-] (1) -- node[font=\small,label=above:7] {} (4);
\end{tikzpicture}
\end{center}
Each node of the graph is assigned a distance.
Initially, the distance to the starting node is 0,
and the distance to all other nodes is infinite.
The algorithm searches for edges that reduce distances.
First, all edges from node 1 reduce distances:
\begin{center}
\begin{tikzpicture}
\node[draw, circle] (1) at (1,3) {1};
\node[draw, circle] (2) at (4,3) {2};
\node[draw, circle] (3) at (1,1) {3};
\node[draw, circle] (4) at (4,1) {4};
\node[draw, circle] (5) at (6,2) {5};
\node[color=red] at (1,3+0.55) {$0$};
\node[color=red] at (4,3+0.55) {$5$};
\node[color=red] at (1,1-0.55) {$3$};
\node[color=red] at (4,1-0.55) {$7$};
\node[color=red] at (6,2-0.55) {$\infty$};
\path[draw,thick,-] (1) -- node[font=\small,label=above:5] {} (2);
\path[draw,thick,-] (1) -- node[font=\small,label=left:3] {} (3);
\path[draw,thick,-] (3) -- node[font=\small,label=below:1] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=left:3] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=above:2] {} (5);
\path[draw,thick,-] (4) -- node[font=\small,label=below:2] {} (5);
\path[draw,thick,-] (1) -- node[font=\small,label=above:7] {} (4);
\path[draw=red,thick,->,line width=2pt] (1) -- (2);
\path[draw=red,thick,->,line width=2pt] (1) -- (3);
\path[draw=red,thick,->,line width=2pt] (1) -- (4);
\end{tikzpicture}
\end{center}
After this, edges
$2 \rightarrow 5$ and $3 \rightarrow 4$
reduce distances:
\begin{center}
\begin{tikzpicture}
\node[draw, circle] (1) at (1,3) {1};
\node[draw, circle] (2) at (4,3) {2};
\node[draw, circle] (3) at (1,1) {3};
\node[draw, circle] (4) at (4,1) {4};
\node[draw, circle] (5) at (6,2) {5};
\node[color=red] at (1,3+0.55) {$0$};
\node[color=red] at (4,3+0.55) {$5$};
\node[color=red] at (1,1-0.55) {$3$};
\node[color=red] at (4,1-0.55) {$4$};
\node[color=red] at (6,2-0.55) {$7$};
\path[draw,thick,-] (1) -- node[font=\small,label=above:5] {} (2);
\path[draw,thick,-] (1) -- node[font=\small,label=left:3] {} (3);
\path[draw,thick,-] (3) -- node[font=\small,label=below:1] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=left:3] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=above:2] {} (5);
\path[draw,thick,-] (4) -- node[font=\small,label=below:2] {} (5);
\path[draw,thick,-] (1) -- node[font=\small,label=above:7] {} (4);
\path[draw=red,thick,->,line width=2pt] (2) -- (5);
\path[draw=red,thick,->,line width=2pt] (3) -- (4);
\end{tikzpicture}
\end{center}
Finally, there is one more change:
\begin{center}
\begin{tikzpicture}
\node[draw, circle] (1) at (1,3) {1};
\node[draw, circle] (2) at (4,3) {2};
\node[draw, circle] (3) at (1,1) {3};
\node[draw, circle] (4) at (4,1) {4};
\node[draw, circle] (5) at (6,2) {5};
\node[color=red] at (1,3+0.55) {$0$};
\node[color=red] at (4,3+0.55) {$5$};
\node[color=red] at (1,1-0.55) {$3$};
\node[color=red] at (4,1-0.55) {$4$};
\node[color=red] at (6,2-0.55) {$6$};
\path[draw,thick,-] (1) -- node[font=\small,label=above:5] {} (2);
\path[draw,thick,-] (1) -- node[font=\small,label=left:3] {} (3);
\path[draw,thick,-] (3) -- node[font=\small,label=below:1] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=left:3] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=above:2] {} (5);
\path[draw,thick,-] (4) -- node[font=\small,label=below:2] {} (5);
\path[draw,thick,-] (1) -- node[font=\small,label=above:7] {} (4);
\path[draw=red,thick,->,line width=2pt] (4) -- (5);
\end{tikzpicture}
\end{center}
After this, no edge can reduce any distance.
This means that the distances are final,
and we have successfully
calculated the shortest distances
from the starting node to all nodes of the graph.
For example, the shortest distance 3
from node 1 to node 5 corresponds to
the following path:
\begin{center}
\begin{tikzpicture}
\node[draw, circle] (1) at (1,3) {1};
\node[draw, circle] (2) at (4,3) {2};
\node[draw, circle] (3) at (1,1) {3};
\node[draw, circle] (4) at (4,1) {4};
\node[draw, circle] (5) at (6,2) {5};
\node[color=red] at (1,3+0.55) {$0$};
\node[color=red] at (4,3+0.55) {$5$};
\node[color=red] at (1,1-0.55) {$3$};
\node[color=red] at (4,1-0.55) {$4$};
\node[color=red] at (6,2-0.55) {$6$};
\path[draw,thick,-] (1) -- node[font=\small,label=above:5] {} (2);
\path[draw,thick,-] (1) -- node[font=\small,label=left:3] {} (3);
\path[draw,thick,-] (3) -- node[font=\small,label=below:1] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=left:3] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=above:2] {} (5);
\path[draw,thick,-] (4) -- node[font=\small,label=below:2] {} (5);
\path[draw,thick,-] (1) -- node[font=\small,label=above:7] {} (4);
\path[draw=red,thick,->,line width=2pt] (1) -- (3);
\path[draw=red,thick,->,line width=2pt] (3) -- (4);
\path[draw=red,thick,->,line width=2pt] (4) -- (5);
\end{tikzpicture}
\end{center}
\subsubsection{Implementation}
The following implementation of the
BellmanFord algorithm determines the shortest distances
from a node $x$ to all nodes of the graph.
The code assumes that the graph is stored
as an edge list \texttt{edges}
that consists of tuples of the form $(a,b,w)$,
meaning that there is an edge from node $a$ to node $b$
with weight $w$.
The algorithm consists of $n-1$ rounds,
and on each round the algorithm goes through
all edges of the graph and tries to
reduce the distances.
The algorithm constructs an array \texttt{distance}
that will contain the distances from $x$
to all nodes of the graph.
The constant \texttt{INF} denotes an infinite distance.
\begin{lstlisting}
for (int i = 1; i <= n; i++) distance[i] = INF;
distance[x] = 0;
for (int i = 1; i <= n-1; i++) {
for (auto e : edges) {
int a, b, w;
tie(a, b, w) = e;
distance[b] = min(distance[b], distance[a]+w);
}
}
\end{lstlisting}
The time complexity of the algorithm is $O(nm)$,
because the algorithm consists of $n-1$ rounds and
iterates through all $m$ edges during a round.
If there are no negative cycles in the graph,
all distances are final after $n-1$ rounds,
because each shortest path can contain at most $n-1$ edges.
In practice, the final distances can usually
be found faster than in $n-1$ rounds.
Thus, a possible way to make the algorithm more efficient
is to stop the algorithm if no distance
can be reduced during a round.
\subsubsection{Negative cycles}
\index{negative cycle}
The BellmanFord algorithm can also be used to
check if the graph contains a cycle with negative length.
For example, the graph
\begin{center}
\begin{tikzpicture}[scale=0.9]
\node[draw, circle] (1) at (0,0) {$1$};
\node[draw, circle] (2) at (2,1) {$2$};
\node[draw, circle] (3) at (2,-1) {$3$};
\node[draw, circle] (4) at (4,0) {$4$};
\path[draw,thick,-] (1) -- node[font=\small,label=above:$3$] {} (2);
\path[draw,thick,-] (2) -- node[font=\small,label=above:$1$] {} (4);
\path[draw,thick,-] (1) -- node[font=\small,label=below:$5$] {} (3);
\path[draw,thick,-] (3) -- node[font=\small,label=below:$-7$] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=right:$2$] {} (3);
\end{tikzpicture}
\end{center}
\noindent
contains a negative cycle
$2 \rightarrow 3 \rightarrow 4 \rightarrow 2$
with length $-4$.
If the graph contains a negative cycle,
we can shorten infinitely many times
any path that contains the cycle by repeating the cycle
again and again.
Thus, the concept of a shortest path
is not meaningful in this situation.
A negative cycle can be detected
using the BellmanFord algorithm by
running the algorithm for $n$ rounds.
If the last round reduces any distance,
the graph contains a negative cycle.
Note that this algorithm can be used to
search for
a negative cycle in the whole graph
regardless of the starting node.
\subsubsection{SPFA algorithm}
\index{SPFA algorithm}
The \key{SPFA algorithm} (''Shortest Path Faster Algorithm'') \cite{fan94}
is a variant of the BellmanFord algorithm,
that is often more efficient than the original algorithm.
The SPFA algorithm does not go through all the edges on each round,
but instead, it chooses the edges to be examined
in a more intelligent way.
The algorithm maintains a queue of nodes that might
be used for reducing the distances.
First, the algorithm adds the starting node $x$
to the queue.
Then, the algorithm always processes the
first node in the queue, and when an edge
$a \rightarrow b$ reduces a distance,
node $b$ is added to the queue.
%
% The following implementation uses a
% \texttt{queue} \texttt{q}.
% In addition, an array \texttt{inqueue} indicates
% if a node is already in the queue,
% in which case the algorithm does not add
% the node to the queue again.
%
% \begin{lstlisting}
% for (int i = 1; i <= n; i++) distance[i] = INF;
% distance[x] = 0;
% q.push(x);
% while (!q.empty()) {
% int a = q.front(); q.pop();
% inqueue[a] = false;
% for (auto b : v[a]) {
% if (distance[a]+b.second < distance[b.first]) {
% distance[b.first] = distance[a]+b.second;
% if (!inqueue[b]) {q.push(b); inqueue[b] = true;}
% }
% }
% }
% \end{lstlisting}
The efficiency of the SPFA algorithm depends
on the structure of the graph:
the algorithm is often efficient,
but its worst case time complexity is still
$O(nm)$ and it is possible to create inputs
that make the algorithm as slow as the
original BellmanFord algorithm.
\section{Dijkstra's algorithm}
\index{Dijkstra's algorithm}
@ -334,15 +27,12 @@ original BellmanFord algorithm.
\key{Dijkstra's algorithm}\footnote{E. W. Dijkstra published the algorithm in 1959 \cite{dij59};
however, his original paper does not mention how to implement the algorithm efficiently.}
finds shortest
paths from the starting node to all nodes of the graph,
like the BellmanFord algorithm.
The benefit of Dijsktra's algorithm is that
it is more efficient and can be used for
paths from the starting node to all nodes of the graph.
Dijkstra's algorithm is very efficient and can be used for
processing large graphs.
However, the algorithm requires that there
are no negative weight edges in the graph.
Like the BellmanFord algorithm,
Dijkstra's algorithm maintains distances
to the nodes and reduces them during the search.
Dijkstra's algorithm is efficient, because
@ -543,9 +233,9 @@ The following implementation of Dijkstra's algorithm
calculates the minimum distances from a node $x$
to other nodes of the graph.
The graph is stored as adjacency lists
so that \texttt{adj[$a$]} contains a pair $(b,w)$
always when there is an edge from node $a$ to node $b$
with weight $w$.
so that \texttt{g[$v$]} contains a pair $(w,\text{cost})$
always when there is an edge from node $v$ to node $w$
with weight $\text{cost}$.
An efficient implementation of Dijkstra's algorithm
requires that it is possible to efficiently find the
@ -556,40 +246,42 @@ Using a priority queue, the next node to be processed
can be retrieved in logarithmic time.
In the following code, the priority queue
\texttt{q} contains pairs of the form $(-d,x)$,
\texttt{pq} contains pairs of the form $(d,x)$,
meaning that the current distance to node $x$ is $d$.
The array $\texttt{distance}$ contains the distance to
each node, and the array $\texttt{processed}$ indicates
whether a node has been processed.
Initially the distance is $0$ to $x$ and $\infty$ to all other nodes.
each node. Initially, the distance is $0$ to $\text{start}$ and $-1$ to all
other nodes. We use $-1$ as invalid value to denote that the node
has not been reached yet.
\begin{lstlisting}
for (int i = 1; i <= n; i++) distance[i] = INF;
distance[x] = 0;
q.push({0,x});
while (!q.empty()) {
int a = q.top().second; q.pop();
if (processed[a]) continue;
processed[a] = true;
for (auto u : adj[a]) {
int b = u.first, w = u.second;
if (distance[a]+w < distance[b]) {
distance[b] = distance[a]+w;
q.push({-distance[b],b});
}
}
vector<int> distance(n, -1);
priority_queue<pair<int, int>,
vector<pair<int, int>>,
greater<pair<int, int>>> pq;
distance[start] = 0;
pq.emplace(0, start);
while (!pq.empty()) {
auto [d, v] = q.top();
q.pop();
if (distance[v] != -1) continue;
distance[v] = d;
for (auto [w, cost] : g[v])
q.emplace(d + cost, w);
}
\end{lstlisting}
Note that the priority queue contains \emph{negative}
distances to nodes.
The reason for this is that the
default version of the C++ priority queue finds maximum
elements, while we want to find minimum elements.
By using negative distances,
we can directly use the default priority queue\footnote{Of
course, we could also declare the priority queue as in Chapter 4.5
and use positive distances, but the implementation would be a bit longer.}.
Note that the type of the priority queue is not
\verb|priority_queue<pair<int, int>| but instead
\verb|priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>>|.
This is because in C++, a priority queue by default puts the
\emph{largest} element on top, so we reverse the ordering by changing
the comparison operator from \verb|less| (the default) to
\verb|greater| (which does the opposite).
In case you forget, you can look up the syntax for the priority queue
in the C++ cheatsheet linked on the camp page.
Also note that there may be several instances of the same
node in the priority queue; however, only the instance with the
minimum distance will be processed.
@ -598,205 +290,3 @@ The time complexity of the above implementation is
$O(n+m \log m)$, because the algorithm goes through
all nodes of the graph and adds for each edge
at most one distance to the priority queue.
\section{FloydWarshall algorithm}
\index{FloydWarshall algorithm}
The \key{FloydWarshall algorithm}\footnote{The algorithm
is named after R. W. Floyd and S. Warshall
who published it independently in 1962 \cite{flo62,war62}.}
provides an alternative way to approach the problem
of finding shortest paths.
Unlike the other algorithms of this chapter,
it finds all shortest paths between the nodes
in a single run.
The algorithm maintains a two-dimensional array
that contains distances between the nodes.
First, distances are calculated only using
direct edges between the nodes,
and after this, the algorithm reduces distances
by using intermediate nodes in paths.
\subsubsection{Example}
Let us consider how the FloydWarshall algorithm
works in the following graph:
\begin{center}
\begin{tikzpicture}[scale=0.9]
\node[draw, circle] (1) at (1,3) {$3$};
\node[draw, circle] (2) at (4,3) {$4$};
\node[draw, circle] (3) at (1,1) {$2$};
\node[draw, circle] (4) at (4,1) {$1$};
\node[draw, circle] (5) at (6,2) {$5$};
\path[draw,thick,-] (1) -- node[font=\small,label=above:7] {} (2);
\path[draw,thick,-] (1) -- node[font=\small,label=left:2] {} (3);
\path[draw,thick,-] (3) -- node[font=\small,label=below:5] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=left:9] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=above:2] {} (5);
\path[draw,thick,-] (4) -- node[font=\small,label=below:1] {} (5);
\end{tikzpicture}
\end{center}
Initially, the distance from each node to itself is $0$,
and the distance between nodes $a$ and $b$ is $x$
if there is an edge between nodes $a$ and $b$ with weight $x$.
All other distances are infinite.
In this graph, the initial array is as follows:
\begin{center}
\begin{tabular}{r|rrrrr}
& 1 & 2 & 3 & 4 & 5 \\
\hline
1 & 0 & 5 & $\infty$ & 9 & 1 \\
2 & 5 & 0 & 2 & $\infty$ & $\infty$ \\
3 & $\infty$ & 2 & 0 & 7 & $\infty$ \\
4 & 9 & $\infty$ & 7 & 0 & 2 \\
5 & 1 & $\infty$ & $\infty$ & 2 & 0 \\
\end{tabular}
\end{center}
\vspace{10pt}
The algorithm consists of consecutive rounds.
On each round, the algorithm selects a new node
that can act as an intermediate node in paths from now on,
and distances are reduced using this node.
On the first round, node 1 is the new intermediate node.
There is a new path between nodes 2 and 4
with length 14, because node 1 connects them.
There is also a new path
between nodes 2 and 5 with length 6.
\begin{center}
\begin{tabular}{r|rrrrr}
& 1 & 2 & 3 & 4 & 5 \\
\hline
1 & 0 & 5 & $\infty$ & 9 & 1 \\
2 & 5 & 0 & 2 & \textbf{14} & \textbf{6} \\
3 & $\infty$ & 2 & 0 & 7 & $\infty$ \\
4 & 9 & \textbf{14} & 7 & 0 & 2 \\
5 & 1 & \textbf{6} & $\infty$ & 2 & 0 \\
\end{tabular}
\end{center}
\vspace{10pt}
On the second round, node 2 is the new intermediate node.
This creates new paths between nodes 1 and 3
and between nodes 3 and 5:
\begin{center}
\begin{tabular}{r|rrrrr}
& 1 & 2 & 3 & 4 & 5 \\
\hline
1 & 0 & 5 & \textbf{7} & 9 & 1 \\
2 & 5 & 0 & 2 & 14 & 6 \\
3 & \textbf{7} & 2 & 0 & 7 & \textbf{8} \\
4 & 9 & 14 & 7 & 0 & 2 \\
5 & 1 & 6 & \textbf{8} & 2 & 0 \\
\end{tabular}
\end{center}
\vspace{10pt}
On the third round, node 3 is the new intermediate round.
There is a new path between nodes 2 and 4:
\begin{center}
\begin{tabular}{r|rrrrr}
& 1 & 2 & 3 & 4 & 5 \\
\hline
1 & 0 & 5 & 7 & 9 & 1 \\
2 & 5 & 0 & 2 & \textbf{9} & 6 \\
3 & 7 & 2 & 0 & 7 & 8 \\
4 & 9 & \textbf{9} & 7 & 0 & 2 \\
5 & 1 & 6 & 8 & 2 & 0 \\
\end{tabular}
\end{center}
\vspace{10pt}
The algorithm continues like this,
until all nodes have been appointed intermediate nodes.
After the algorithm has finished, the array contains
the minimum distances between any two nodes:
\begin{center}
\begin{tabular}{r|rrrrr}
& 1 & 2 & 3 & 4 & 5 \\
\hline
1 & 0 & 5 & 7 & 3 & 1 \\
2 & 5 & 0 & 2 & 8 & 6 \\
3 & 7 & 2 & 0 & 7 & 8 \\
4 & 3 & 8 & 7 & 0 & 2 \\
5 & 1 & 6 & 8 & 2 & 0 \\
\end{tabular}
\end{center}
For example, the array tells us that the
shortest distance between nodes 2 and 4 is 8.
This corresponds to the following path:
\begin{center}
\begin{tikzpicture}[scale=0.9]
\node[draw, circle] (1) at (1,3) {$3$};
\node[draw, circle] (2) at (4,3) {$4$};
\node[draw, circle] (3) at (1,1) {$2$};
\node[draw, circle] (4) at (4,1) {$1$};
\node[draw, circle] (5) at (6,2) {$5$};
\path[draw,thick,-] (1) -- node[font=\small,label=above:7] {} (2);
\path[draw,thick,-] (1) -- node[font=\small,label=left:2] {} (3);
\path[draw,thick,-] (3) -- node[font=\small,label=below:5] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=left:9] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=above:2] {} (5);
\path[draw,thick,-] (4) -- node[font=\small,label=below:1] {} (5);
\path[draw=red,thick,->,line width=2pt] (3) -- (4);
\path[draw=red,thick,->,line width=2pt] (4) -- (5);
\path[draw=red,thick,->,line width=2pt] (5) -- (2);
\end{tikzpicture}
\end{center}
\subsubsection{Implementation}
The advantage of the
FloydWarshall algorithm that it is
easy to implement.
The following code constructs a
distance matrix where $\texttt{distance}[a][b]$
is the shortest distance between nodes $a$ and $b$.
First, the algorithm initializes \texttt{distance}
using the adjacency matrix \texttt{adj} of the graph:
\begin{lstlisting}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (i == j) distance[i][j] = 0;
else if (adj[i][j]) distance[i][j] = adj[i][j];
else distance[i][j] = INF;
}
}
\end{lstlisting}
After this, the shortest distances can be found as follows:
\begin{lstlisting}
for (int k = 1; k <= n; k++) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
distance[i][j] = min(distance[i][j],
distance[i][k]+distance[k][j]);
}
}
}
\end{lstlisting}
The time complexity of the algorithm is $O(n^3)$,
because it contains three nested loops
that go through the nodes of the graph.
Since the implementation of the FloydWarshall
algorithm is simple, the algorithm can be
a good choice even if it is only needed to find a
single shortest path in the graph.
However, the algorithm can only be used when the graph
is so small that a cubic time complexity is fast enough.

View File

@ -113,17 +113,16 @@ a depth-first search at an arbitrary node.
The following recursive function can be used:
\begin{lstlisting}
void dfs(int s, int e) {
// process node s
for (auto u : adj[s]) {
if (u != e) dfs(u, s);
}
void dfs(int v, int p) {
for (auto w : g[v])
if (w != p)
dfs(w, v);
}
\end{lstlisting}
The function is given two parameters: the current node $s$
and the previous node $e$.
The purpose of the parameter $e$ is to make sure
The function is given two parameters: the current node $v$
and the previous node $p$.
The purpose of the parameter $p$ is to make sure
that the search only moves to nodes
that have not been visited yet.
@ -131,37 +130,36 @@ The following function call starts the search
at node $x$:
\begin{lstlisting}
dfs(x, 0);
dfs(x, -1);
\end{lstlisting}
In the first call $e=0$, because there is no
In the first call $p=-1$, because there is no
previous node, and it is allowed
to proceed to any direction in the tree.
\subsubsection{Dynamic programming}
Dynamic programming can be used to calculate
some information during a tree traversal.
Using dynamic programming, we can, for example,
\subsubsection{Storing Information}
We can calculate
some information during a tree traversal and store that for later use.
We can, for example,
calculate in $O(n)$ time for each node of a rooted tree the
number of nodes in its subtree
or the length of the longest path from the node
to a leaf.
As an example, let us calculate for each node $s$
a value $\texttt{count}[s]$: the number of nodes in its subtree.
As an example, let us calculate for each node $v$
a value $\texttt{subtreesize}[v]$: the number of nodes in its subtree.
The subtree contains the node itself and
all nodes in the subtrees of its children,
so we can calculate the number of nodes
recursively using the following code:
\begin{lstlisting}
void dfs(int s, int e) {
count[s] = 1;
for (auto u : adj[s]) {
if (u == e) continue;
dfs(u, s);
count[s] += count[u];
void dfs(int v, int p) {
subtreesize[s] = 1;
for (auto w : g[v]) {
if (w == p) continue;
dfs(w, v);
subtreesize[s] += subtreesize[u];
}
}
\end{lstlisting}
@ -220,7 +218,7 @@ to obtain another path with length 4.
Next we will discuss two $O(n)$ time algorithms
for calculating the diameter of a tree.
The first algorithm is based on dynamic programming,
The first algorithm is based on the previous idea of storing information,
and the second algorithm uses two depth-first searches.
\subsubsection{Algorithm 1}
@ -279,7 +277,7 @@ because there is a path
$6 \rightarrow 2 \rightarrow 1 \rightarrow 4 \rightarrow 7$.
In this case, $\texttt{maxLength}(1)$ equals the diameter.
Dynamic programming can be used to calculate the above
We can calculate the above
values for all nodes in $O(n)$ time.
First, to calculate $\texttt{toLeaf}(x)$,
we go through the children of $x$,
@ -448,8 +446,8 @@ goes through its child 2:
\path[draw,thick,->,color=red,line width=2pt] (3) -- (6);
\end{tikzpicture}
\end{center}
This part is easy to solve in $O(n)$ time, because we can use
dynamic programming as we have done previously.
This part is easy to solve in $O(n)$ time, because we can use a
similar technique to what we have done previously.
Then, the second part of the problem is to calculate
for every node $x$ the maximum length of a path

View File

@ -1,20 +1,4 @@
\chapter{Directed graphs}
In this chapter, we focus on two classes of directed graphs:
\begin{itemize}
\item \key{Acyclic graphs}:
There are no cycles in the graph,
so there is no path from any node to itself\footnote{Directed acyclic
graphs are sometimes called DAGs.}.
\item \key{Successor graphs}:
The outdegree of each node is 1,
so each node has a unique successor.
\end{itemize}
It turns out that in both cases,
we can design efficient algorithms that are based
on the special properties of the graphs.
\section{Topological sorting}
\chapter{Topological sorting}
\index{topological sorting}
\index{cycle}
@ -249,460 +233,3 @@ The search reaches node 2 whose state is 1,
which means that the graph contains a cycle.
In this example, there is a cycle
$2 \rightarrow 3 \rightarrow 5 \rightarrow 2$.
\section{Dynamic programming}
If a directed graph is acyclic,
dynamic programming can be applied to it.
For example, we can efficiently solve the following
problems concerning paths from a starting node
to an ending node:
\begin{itemize}
\item how many different paths are there?
\item what is the shortest/longest path?
\item what is the minimum/maximum number of edges in a path?
\item which nodes certainly appear in any path?
\end{itemize}
\subsubsection{Counting the number of paths}
As an example, let us calculate the number of paths
from node 1 to node 6 in the following graph:
\begin{center}
\begin{tikzpicture}[scale=0.9]
\node[draw, circle] (1) at (1,5) {$1$};
\node[draw, circle] (2) at (3,5) {$2$};
\node[draw, circle] (3) at (5,5) {$3$};
\node[draw, circle] (4) at (1,3) {$4$};
\node[draw, circle] (5) at (3,3) {$5$};
\node[draw, circle] (6) at (5,3) {$6$};
\path[draw,thick,->,>=latex] (1) -- (2);
\path[draw,thick,->,>=latex] (2) -- (3);
\path[draw,thick,->,>=latex] (1) -- (4);
\path[draw,thick,->,>=latex] (4) -- (5);
\path[draw,thick,->,>=latex] (5) -- (2);
\path[draw,thick,->,>=latex] (5) -- (3);
\path[draw,thick,->,>=latex] (3) -- (6);
\end{tikzpicture}
\end{center}
There are a total of three such paths:
\begin{itemize}
\item $1 \rightarrow 2 \rightarrow 3 \rightarrow 6$
\item $1 \rightarrow 4 \rightarrow 5 \rightarrow 2 \rightarrow 3 \rightarrow 6$
\item $1 \rightarrow 4 \rightarrow 5 \rightarrow 3 \rightarrow 6$
\end{itemize}
Let $\texttt{paths}(x)$ denote the number of paths from
node 1 to node $x$.
As a base case, $\texttt{paths}(1)=1$.
Then, to calculate other values of $\texttt{paths}(x)$,
we may use the recursion
\[\texttt{paths}(x) = \texttt{paths}(a_1)+\texttt{paths}(a_2)+\cdots+\texttt{paths}(a_k)\]
where $a_1,a_2,\ldots,a_k$ are the nodes from which there
is an edge to $x$.
Since the graph is acyclic, the values of $\texttt{paths}(x)$
can be calculated in the order of a topological sort.
A topological sort for the above graph is as follows:
\begin{center}
\begin{tikzpicture}[scale=0.9]
\node[draw, circle] (1) at (0,0) {$1$};
\node[draw, circle] (2) at (4.5,0) {$2$};
\node[draw, circle] (3) at (6,0) {$3$};
\node[draw, circle] (4) at (1.5,0) {$4$};
\node[draw, circle] (5) at (3,0) {$5$};
\node[draw, circle] (6) at (7.5,0) {$6$};
\path[draw,thick,->,>=latex] (1) edge [bend left=30] (2);
\path[draw,thick,->,>=latex] (2) -- (3);
\path[draw,thick,->,>=latex] (1) -- (4);
\path[draw,thick,->,>=latex] (4) -- (5);
\path[draw,thick,->,>=latex] (5) -- (2);
\path[draw,thick,->,>=latex] (5) edge [bend right=30] (3);
\path[draw,thick,->,>=latex] (3) -- (6);
\end{tikzpicture}
\end{center}
Hence, the numbers of paths are as follows:
\begin{center}
\begin{tikzpicture}[scale=0.9]
\node[draw, circle] (1) at (1,5) {$1$};
\node[draw, circle] (2) at (3,5) {$2$};
\node[draw, circle] (3) at (5,5) {$3$};
\node[draw, circle] (4) at (1,3) {$4$};
\node[draw, circle] (5) at (3,3) {$5$};
\node[draw, circle] (6) at (5,3) {$6$};
\path[draw,thick,->,>=latex] (1) -- (2);
\path[draw,thick,->,>=latex] (2) -- (3);
\path[draw,thick,->,>=latex] (1) -- (4);
\path[draw,thick,->,>=latex] (4) -- (5);
\path[draw,thick,->,>=latex] (5) -- (2);
\path[draw,thick,->,>=latex] (5) -- (3);
\path[draw,thick,->,>=latex] (3) -- (6);
\node[color=red] at (1,2.3) {$1$};
\node[color=red] at (3,2.3) {$1$};
\node[color=red] at (5,2.3) {$3$};
\node[color=red] at (1,5.7) {$1$};
\node[color=red] at (3,5.7) {$2$};
\node[color=red] at (5,5.7) {$3$};
\end{tikzpicture}
\end{center}
For example, to calculate the value of $\texttt{paths}(3)$,
we can use the formula $\texttt{paths}(2)+\texttt{paths}(5)$,
because there are edges from nodes 2 and 5
to node 3.
Since $\texttt{paths}(2)=2$ and $\texttt{paths}(5)=1$, we conclude that $\texttt{paths}(3)=3$.
\subsubsection{Extending Dijkstra's algorithm}
\index{Dijkstra's algorithm}
A by-product of Dijkstra's algorithm is a directed, acyclic
graph that indicates for each node of the original graph
the possible ways to reach the node using a shortest path
from the starting node.
Dynamic programming can be applied to that graph.
For example, in the graph
\begin{center}
\begin{tikzpicture}
\node[draw, circle] (1) at (0,0) {$1$};
\node[draw, circle] (2) at (2,0) {$2$};
\node[draw, circle] (3) at (0,-2) {$3$};
\node[draw, circle] (4) at (2,-2) {$4$};
\node[draw, circle] (5) at (4,-1) {$5$};
\path[draw,thick,-] (1) -- node[font=\small,label=above:3] {} (2);
\path[draw,thick,-] (1) -- node[font=\small,label=left:5] {} (3);
\path[draw,thick,-] (2) -- node[font=\small,label=right:4] {} (4);
\path[draw,thick,-] (2) -- node[font=\small,label=above:8] {} (5);
\path[draw,thick,-] (3) -- node[font=\small,label=below:2] {} (4);
\path[draw,thick,-] (4) -- node[font=\small,label=below:1] {} (5);
\path[draw,thick,-] (2) -- node[font=\small,label=above:2] {} (3);
\end{tikzpicture}
\end{center}
the shortest paths from node 1 may use the following edges:
\begin{center}
\begin{tikzpicture}
\node[draw, circle] (1) at (0,0) {$1$};
\node[draw, circle] (2) at (2,0) {$2$};
\node[draw, circle] (3) at (0,-2) {$3$};
\node[draw, circle] (4) at (2,-2) {$4$};
\node[draw, circle] (5) at (4,-1) {$5$};
\path[draw,thick,->] (1) -- node[font=\small,label=above:3] {} (2);
\path[draw,thick,->] (1) -- node[font=\small,label=left:5] {} (3);
\path[draw,thick,->] (2) -- node[font=\small,label=right:4] {} (4);
\path[draw,thick,->] (3) -- node[font=\small,label=below:2] {} (4);
\path[draw,thick,->] (4) -- node[font=\small,label=below:1] {} (5);
\path[draw,thick,->] (2) -- node[font=\small,label=above:2] {} (3);
\end{tikzpicture}
\end{center}
Now we can, for example, calculate the number of
shortest paths from node 1 to node 5
using dynamic programming:
\begin{center}
\begin{tikzpicture}
\node[draw, circle] (1) at (0,0) {$1$};
\node[draw, circle] (2) at (2,0) {$2$};
\node[draw, circle] (3) at (0,-2) {$3$};
\node[draw, circle] (4) at (2,-2) {$4$};
\node[draw, circle] (5) at (4,-1) {$5$};
\path[draw,thick,->] (1) -- node[font=\small,label=above:3] {} (2);
\path[draw,thick,->] (1) -- node[font=\small,label=left:5] {} (3);
\path[draw,thick,->] (2) -- node[font=\small,label=right:4] {} (4);
\path[draw,thick,->] (3) -- node[font=\small,label=below:2] {} (4);
\path[draw,thick,->] (4) -- node[font=\small,label=below:1] {} (5);
\path[draw,thick,->] (2) -- node[font=\small,label=above:2] {} (3);
\node[color=red] at (0,0.7) {$1$};
\node[color=red] at (2,0.7) {$1$};
\node[color=red] at (0,-2.7) {$2$};
\node[color=red] at (2,-2.7) {$3$};
\node[color=red] at (4,-1.7) {$3$};
\end{tikzpicture}
\end{center}
\subsubsection{Representing problems as graphs}
Actually, any dynamic programming problem
can be represented as a directed, acyclic graph.
In such a graph, each node corresponds to a dynamic programming state
and the edges indicate how the states depend on each other.
As an example, consider the problem
of forming a sum of money $n$
using coins
$\{c_1,c_2,\ldots,c_k\}$.
In this problem, we can construct a graph where
each node corresponds to a sum of money,
and the edges show how the coins can be chosen.
For example, for coins $\{1,3,4\}$ and $n=6$,
the graph is as follows:
\begin{center}
\begin{tikzpicture}[scale=0.9]
\node[draw, circle] (0) at (0,0) {$0$};
\node[draw, circle] (1) at (2,0) {$1$};
\node[draw, circle] (2) at (4,0) {$2$};
\node[draw, circle] (3) at (6,0) {$3$};
\node[draw, circle] (4) at (8,0) {$4$};
\node[draw, circle] (5) at (10,0) {$5$};
\node[draw, circle] (6) at (12,0) {$6$};
\path[draw,thick,->] (0) -- (1);
\path[draw,thick,->] (1) -- (2);
\path[draw,thick,->] (2) -- (3);
\path[draw,thick,->] (3) -- (4);
\path[draw,thick,->] (4) -- (5);
\path[draw,thick,->] (5) -- (6);
\path[draw,thick,->] (0) edge [bend right=30] (3);
\path[draw,thick,->] (1) edge [bend right=30] (4);
\path[draw,thick,->] (2) edge [bend right=30] (5);
\path[draw,thick,->] (3) edge [bend right=30] (6);
\path[draw,thick,->] (0) edge [bend left=30] (4);
\path[draw,thick,->] (1) edge [bend left=30] (5);
\path[draw,thick,->] (2) edge [bend left=30] (6);
\end{tikzpicture}
\end{center}
Using this representation,
the shortest path from node 0 to node $n$
corresponds to a solution with the minimum number of coins,
and the total number of paths from node 0 to node $n$
equals the total number of solutions.
\section{Successor paths}
\index{successor graph}
\index{functional graph}
For the rest of the chapter,
we will focus on \key{successor graphs}.
In those graphs,
the outdegree of each node is 1, i.e.,
exactly one edge starts at each node.
A successor graph consists of one or more
components, each of which contains
one cycle and some paths that lead to it.
Successor graphs are sometimes called
\key{functional graphs}.
The reason for this is that any successor graph
corresponds to a function that defines
the edges of the graph.
The parameter for the function is a node of the graph,
and the function gives the successor of that node.
For example, the function
\begin{center}
\begin{tabular}{r|rrrrrrrrr}
$x$ & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \\
\hline
$\texttt{succ}(x)$ & 3 & 5 & 7 & 6 & 2 & 2 & 1 & 6 & 3 \\
\end{tabular}
\end{center}
defines the following graph:
\begin{center}
\begin{tikzpicture}[scale=0.9]
\node[draw, circle] (1) at (0,0) {$1$};
\node[draw, circle] (2) at (2,0) {$2$};
\node[draw, circle] (3) at (-2,0) {$3$};
\node[draw, circle] (4) at (1,-3) {$4$};
\node[draw, circle] (5) at (4,0) {$5$};
\node[draw, circle] (6) at (2,-1.5) {$6$};
\node[draw, circle] (7) at (-2,-1.5) {$7$};
\node[draw, circle] (8) at (3,-3) {$8$};
\node[draw, circle] (9) at (-4,0) {$9$};
\path[draw,thick,->] (1) -- (3);
\path[draw,thick,->] (2) edge [bend left=40] (5);
\path[draw,thick,->] (3) -- (7);
\path[draw,thick,->] (4) -- (6);
\path[draw,thick,->] (5) edge [bend left=40] (2);
\path[draw,thick,->] (6) -- (2);
\path[draw,thick,->] (7) -- (1);
\path[draw,thick,->] (8) -- (6);
\path[draw,thick,->] (9) -- (3);
\end{tikzpicture}
\end{center}
Since each node of a successor graph has a
unique successor, we can also define a function $\texttt{succ}(x,k)$
that gives the node that we will reach if
we begin at node $x$ and walk $k$ steps forward.
For example, in the above graph $\texttt{succ}(4,6)=2$,
because we will reach node 2 by walking 6 steps from node 4:
\begin{center}
\begin{tikzpicture}[scale=0.9]
\node[draw, circle] (1) at (0,0) {$4$};
\node[draw, circle] (2) at (1.5,0) {$6$};
\node[draw, circle] (3) at (3,0) {$2$};
\node[draw, circle] (4) at (4.5,0) {$5$};
\node[draw, circle] (5) at (6,0) {$2$};
\node[draw, circle] (6) at (7.5,0) {$5$};
\node[draw, circle] (7) at (9,0) {$2$};
\path[draw,thick,->] (1) -- (2);
\path[draw,thick,->] (2) -- (3);
\path[draw,thick,->] (3) -- (4);
\path[draw,thick,->] (4) -- (5);
\path[draw,thick,->] (5) -- (6);
\path[draw,thick,->] (6) -- (7);
\end{tikzpicture}
\end{center}
A straightforward way to calculate a value of $\texttt{succ}(x,k)$
is to start at node $x$ and walk $k$ steps forward, which takes $O(k)$ time.
However, using preprocessing, any value of $\texttt{succ}(x,k)$
can be calculated in only $O(\log k)$ time.
The idea is to precalculate all values of $\texttt{succ}(x,k)$ where
$k$ is a power of two and at most $u$, where $u$ is
the maximum number of steps we will ever walk.
This can be efficiently done, because
we can use the following recursion:
\begin{equation*}
\texttt{succ}(x,k) = \begin{cases}
\texttt{succ}(x) & k = 1\\
\texttt{succ}(\texttt{succ}(x,k/2),k/2) & k > 1\\
\end{cases}
\end{equation*}
Precalculating the values takes $O(n \log u)$ time,
because $O(\log u)$ values are calculated for each node.
In the above graph, the first values are as follows:
\begin{center}
\begin{tabular}{r|rrrrrrrrr}
$x$ & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \\
\hline
$\texttt{succ}(x,1)$ & 3 & 5 & 7 & 6 & 2 & 2 & 1 & 6 & 3 \\
$\texttt{succ}(x,2)$ & 7 & 2 & 1 & 2 & 5 & 5 & 3 & 2 & 7 \\
$\texttt{succ}(x,4)$ & 3 & 2 & 7 & 2 & 5 & 5 & 1 & 2 & 3 \\
$\texttt{succ}(x,8)$ & 7 & 2 & 1 & 2 & 5 & 5 & 3 & 2 & 7 \\
$\cdots$ \\
\end{tabular}
\end{center}
After this, any value of $\texttt{succ}(x,k)$ can be calculated
by presenting the number of steps $k$ as a sum of powers of two.
For example, if we want to calculate the value of $\texttt{succ}(x,11)$,
we first form the representation $11=8+2+1$.
Using that,
\[\texttt{succ}(x,11)=\texttt{succ}(\texttt{succ}(\texttt{succ}(x,8),2),1).\]
For example, in the previous graph
\[\texttt{succ}(4,11)=\texttt{succ}(\texttt{succ}(\texttt{succ}(4,8),2),1)=5.\]
Such a representation always consists of
$O(\log k)$ parts, so calculating a value of $\texttt{succ}(x,k)$
takes $O(\log k)$ time.
\section{Cycle detection}
\index{cycle}
\index{cycle detection}
Consider a successor graph that only contains
a path that ends in a cycle.
We may ask the following questions:
if we begin our walk at the starting node,
what is the first node in the cycle
and how many nodes does the cycle contain?
For example, in the graph
\begin{center}
\begin{tikzpicture}[scale=0.9]
\node[draw, circle] (5) at (0,0) {$5$};
\node[draw, circle] (4) at (-2,0) {$4$};
\node[draw, circle] (6) at (-1,1.5) {$6$};
\node[draw, circle] (3) at (-4,0) {$3$};
\node[draw, circle] (2) at (-6,0) {$2$};
\node[draw, circle] (1) at (-8,0) {$1$};
\path[draw,thick,->] (1) -- (2);
\path[draw,thick,->] (2) -- (3);
\path[draw,thick,->] (3) -- (4);
\path[draw,thick,->] (4) -- (5);
\path[draw,thick,->] (5) -- (6);
\path[draw,thick,->] (6) -- (4);
\end{tikzpicture}
\end{center}
we begin our walk at node 1,
the first node that belongs to the cycle is node 4, and the cycle consists
of three nodes (4, 5 and 6).
A simple way to detect the cycle is to walk in the
graph and keep track of
all nodes that have been visited. Once a node is visited
for the second time, we can conclude
that the node is the first node in the cycle.
This method works in $O(n)$ time and also uses
$O(n)$ memory.
However, there are better algorithms for cycle detection.
The time complexity of such algorithms is still $O(n)$,
but they only use $O(1)$ memory.
This is an important improvement if $n$ is large.
Next we will discuss Floyd's algorithm that
achieves these properties.
\subsubsection{Floyd's algorithm}
\index{Floyd's algorithm}
\key{Floyd's algorithm}\footnote{The idea of the algorithm is mentioned in \cite{knu982}
and attributed to R. W. Floyd; however, it is not known if Floyd actually
discovered the algorithm.} walks forward
in the graph using two pointers $a$ and $b$.
Both pointers begin at a node $x$ that
is the starting node of the graph.
Then, on each turn, the pointer $a$ walks
one step forward and the pointer $b$
walks two steps forward.
The process continues until
the pointers meet each other:
\begin{lstlisting}
a = succ(x);
b = succ(succ(x));
while (a != b) {
a = succ(a);
b = succ(succ(b));
}
\end{lstlisting}
At this point, the pointer $a$ has walked $k$ steps
and the pointer $b$ has walked $2k$ steps,
so the length of the cycle divides $k$.
Thus, the first node that belongs to the cycle
can be found by moving the pointer $a$ to node $x$
and advancing the pointers
step by step until they meet again.
\begin{lstlisting}
a = x;
while (a != b) {
a = succ(a);
b = succ(b);
}
first = a;
\end{lstlisting}
After this, the length of the cycle
can be calculated as follows:
\begin{lstlisting}
b = succ(a);
length = 1;
while (a != b) {
b = succ(b);
length++;
}
\end{lstlisting}

View File

@ -359,205 +359,3 @@ that create the remaining strongly connected components:
The time complexity of the algorithm is $O(n+m)$,
because the algorithm
performs two depth-first searches.
\section{2SAT problem}
\index{2SAT problem}
Strong connectivity is also linked with the
\key{2SAT problem}\footnote{The algorithm presented here was
introduced in \cite{asp79}.
There is also another well-known linear-time algorithm \cite{eve75}
that is based on backtracking.}.
In this problem, we are given a logical formula
\[
(a_1 \lor b_1) \land (a_2 \lor b_2) \land \cdots \land (a_m \lor b_m),
\]
where each $a_i$ and $b_i$ is either a logical variable
($x_1,x_2,\ldots,x_n$)
or a negation of a logical variable
($\lnot x_1, \lnot x_2, \ldots, \lnot x_n$).
The symbols ''$\land$'' and ''$\lor$'' denote
logical operators ''and'' and ''or''.
Our task is to assign each variable a value
so that the formula is true, or state
that this is not possible.
For example, the formula
\[
L_1 = (x_2 \lor \lnot x_1) \land
(\lnot x_1 \lor \lnot x_2) \land
(x_1 \lor x_3) \land
(\lnot x_2 \lor \lnot x_3) \land
(x_1 \lor x_4)
\]
is true when the variables are assigned as follows:
\[
\begin{cases}
x_1 = \textrm{false} \\
x_2 = \textrm{false} \\
x_3 = \textrm{true} \\
x_4 = \textrm{true} \\
\end{cases}
\]
However, the formula
\[
L_2 = (x_1 \lor x_2) \land
(x_1 \lor \lnot x_2) \land
(\lnot x_1 \lor x_3) \land
(\lnot x_1 \lor \lnot x_3)
\]
is always false, regardless of how we
assign the values.
The reason for this is that we cannot
choose a value for $x_1$
without creating a contradiction.
If $x_1$ is false, both $x_2$ and $\lnot x_2$
should be true which is impossible,
and if $x_1$ is true, both $x_3$ and $\lnot x_3$
should be true which is also impossible.
The 2SAT problem can be represented as a graph
whose nodes correspond to
variables $x_i$ and negations $\lnot x_i$,
and edges determine the connections
between the variables.
Each pair $(a_i \lor b_i)$ generates two edges:
$\lnot a_i \to b_i$ and $\lnot b_i \to a_i$.
This means that if $a_i$ does not hold,
$b_i$ must hold, and vice versa.
The graph for the formula $L_1$ is:
\\
\begin{center}
\begin{tikzpicture}[scale=1.0,minimum size=2pt]
\node[draw, circle, inner sep=1.3pt] (1) at (1,2) {$\lnot x_3$};
\node[draw, circle] (2) at (3,2) {$x_2$};
\node[draw, circle, inner sep=1.3pt] (3) at (1,0) {$\lnot x_4$};
\node[draw, circle] (4) at (3,0) {$x_1$};
\node[draw, circle, inner sep=1.3pt] (5) at (5,2) {$\lnot x_1$};
\node[draw, circle] (6) at (7,2) {$x_4$};
\node[draw, circle, inner sep=1.3pt] (7) at (5,0) {$\lnot x_2$};
\node[draw, circle] (8) at (7,0) {$x_3$};
\path[draw,thick,->] (1) -- (4);
\path[draw,thick,->] (4) -- (2);
\path[draw,thick,->] (2) -- (1);
\path[draw,thick,->] (3) -- (4);
\path[draw,thick,->] (2) -- (5);
\path[draw,thick,->] (4) -- (7);
\path[draw,thick,->] (5) -- (6);
\path[draw,thick,->] (5) -- (8);
\path[draw,thick,->] (8) -- (7);
\path[draw,thick,->] (7) -- (5);
\end{tikzpicture}
\end{center}
And the graph for the formula $L_2$ is:
\\
\begin{center}
\begin{tikzpicture}[scale=1.0,minimum size=2pt]
\node[draw, circle] (1) at (1,2) {$x_3$};
\node[draw, circle] (2) at (3,2) {$x_2$};
\node[draw, circle, inner sep=1.3pt] (3) at (5,2) {$\lnot x_2$};
\node[draw, circle, inner sep=1.3pt] (4) at (7,2) {$\lnot x_3$};
\node[draw, circle, inner sep=1.3pt] (5) at (4,3.5) {$\lnot x_1$};
\node[draw, circle] (6) at (4,0.5) {$x_1$};
\path[draw,thick,->] (1) -- (5);
\path[draw,thick,->] (4) -- (5);
\path[draw,thick,->] (6) -- (1);
\path[draw,thick,->] (6) -- (4);
\path[draw,thick,->] (5) -- (2);
\path[draw,thick,->] (5) -- (3);
\path[draw,thick,->] (2) -- (6);
\path[draw,thick,->] (3) -- (6);
\end{tikzpicture}
\end{center}
The structure of the graph tells us whether
it is possible to assign the values
of the variables so
that the formula is true.
It turns out that this can be done
exactly when there are no nodes
$x_i$ and $\lnot x_i$ such that
both nodes belong to the
same strongly connected component.
If there are such nodes,
the graph contains
a path from $x_i$ to $\lnot x_i$
and also a path from $\lnot x_i$ to $x_i$,
so both $x_i$ and $\lnot x_i$ should be true
which is not possible.
In the graph of the formula $L_1$
there are no nodes $x_i$ and $\lnot x_i$
such that both nodes
belong to the same strongly connected component,
so a solution exists.
In the graph of the formula $L_2$
all nodes belong to the same strongly connected component,
so a solution does not exist.
If a solution exists, the values for the variables
can be found by going through the nodes of the
component graph in a reverse topological sort order.
At each step, we process a component
that does not contain edges that lead to an
unprocessed component.
If the variables in the component
have not been assigned values,
their values will be determined
according to the values in the component,
and if they already have values,
they remain unchanged.
The process continues until each variable
has been assigned a value.
The component graph for the formula $L_1$ is as follows:
\begin{center}
\begin{tikzpicture}[scale=1.0]
\node[draw, circle] (1) at (0,0) {$A$};
\node[draw, circle] (2) at (2,0) {$B$};
\node[draw, circle] (3) at (4,0) {$C$};
\node[draw, circle] (4) at (6,0) {$D$};
\path[draw,thick,->] (1) -- (2);
\path[draw,thick,->] (2) -- (3);
\path[draw,thick,->] (3) -- (4);
\end{tikzpicture}
\end{center}
The components are
$A = \{\lnot x_4\}$,
$B = \{x_1, x_2, \lnot x_3\}$,
$C = \{\lnot x_1, \lnot x_2, x_3\}$ and
$D = \{x_4\}$.
When constructing the solution,
we first process the component $D$
where $x_4$ becomes true.
After this, we process the component $C$
where $x_1$ and $x_2$ become false
and $x_3$ becomes true.
All variables have been assigned values,
so the remaining components $A$ and $B$
do not change the variables.
Note that this method works, because the
graph has a special structure:
if there are paths from node $x_i$ to node $x_j$
and from node $x_j$ to node $\lnot x_j$,
then node $x_i$ never becomes true.
The reason for this is that there is also
a path from node $\lnot x_j$ to node $\lnot x_i$,
and both $x_i$ and $x_j$ become false.
\index{3SAT problem}
A more difficult problem is the \key{3SAT problem},
where each part of the formula is of the form
$(a_i \lor b_i \lor c_i)$.
This problem is NP-hard, so no efficient algorithm
for solving the problem is known.

View File

@ -55,7 +55,7 @@ is $O(k)$, which may be slow, because a tree of $n$
nodes may have a chain of $n$ nodes.
Fortunately, using a technique similar to that
used in Chapter 16.3, any value of $\texttt{ancestor}(x,k)$
used in Chapter 16.3 (of the full book), any value of $\texttt{ancestor}(x,k)$
can be efficiently calculated in $O(\log k)$ time
after preprocessing.
The idea is to precalculate all values $\texttt{ancestor}(x,k)$

View File

@ -1,58 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\providecommand\babel@aux[2]{}
\@nameuse{bbl@beforestart}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\babel@aux{english}{}
\@input{preface.aux}
\@writefile{toc}{\contentsline {part}{I\hspace {1em}Basic techniques}{1}{part.1}\protected@file@percent }
\@input{chapter01.aux}
\@input{chapter02.aux}
\@input{chapter03.aux}
\@input{chapter04.aux}
\@input{chapter05.aux}
\@input{chapter06.aux}
\@input{chapter07.aux}
\@input{chapter08.aux}
\@input{chapter09.aux}
\@input{chapter10.aux}
\@writefile{toc}{\contentsline {part}{II\hspace {1em}Graph algorithms}{107}{part.2}\protected@file@percent }
\@input{chapter11.aux}
\@input{chapter12.aux}
\@input{chapter13.aux}
\@input{chapter14.aux}
\@input{chapter15.aux}
\@input{chapter16.aux}
\@input{chapter17.aux}
\@input{chapter18.aux}
\@input{chapter19.aux}
\@input{chapter20.aux}
\@writefile{toc}{\contentsline {part}{III\hspace {1em}Advanced topics}{195}{part.3}\protected@file@percent }
\@input{chapter21.aux}
\@input{chapter22.aux}
\@input{chapter23.aux}
\@input{chapter24.aux}
\@input{chapter25.aux}
\@input{chapter26.aux}
\@input{chapter27.aux}
\@input{chapter28.aux}
\@input{chapter29.aux}
\@input{chapter30.aux}
\@input{list.aux}
\@writefile{toc}{\contentsline {chapter}{Bibliography}{281}{section*.3}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{Index}{287}{chapter*.5}\protected@file@percent }

Binary file not shown.

View File

@ -1,355 +0,0 @@
# Fdb version 3
["makeindex output/book.idx"] 1612133277 "output/book.idx" "output/book.ind" "output/book" 1612133640
"output/book.idx" 1612133640 14726 a4f79dc0584fe9e391a7573780c527ed "pdflatex"
(generated)
"output/book.ind"
"output/book.ilg"
["pdflatex"] 1612133616 "book.tex" "output/book.pdf" "book" 1612133640
"/etc/texmf/web2c/texmf.cnf" 1604433920 475 c0e671620eb5563b2130f56340a5fde8 ""
"/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc" 1165713224 4850 80dc9bab7f31fb78a000ccfed0e27cab ""
"/usr/share/texlive/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-0.enc" 1558214095 7631 5169ff1acd97ff1c4ab83563c99f96f4 ""
"/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8r.tfm" 1136768653 3220 7b5d1a9569a08754f1bdfbc1c7ad8dbd ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8t.tfm" 1136768653 4708 5672efb2ed6c1b68de999c866a8495e6 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8c.tfm" 1136768653 1336 990dabf7f4b96ad32afebd2a44ddc16b ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm" 1136768653 3824 751120f38c7d75d9c97b0c36843f69c8 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm" 1136768653 5528 f11a9be4ef5afdd9fcc60e3a5281f872 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8r.tfm" 1136768653 4148 d6b2047022c721a25d78978eed00b200 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8t.tfm" 1136768653 6064 8a12cb133dbc46cc2aebc9327349f0ba ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/symbol/psyr.tfm" 1136768653 1408 5937f58aa508ea2cea4901c07d10f5fe ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/zapfding/pzdr.tfm" 1136768653 1528 f853c4d1b4e0550255e02831fdc8496f ""
"/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecss1000.tfm" 1136768653 3584 ab55608ad377891510479d34d90acc46 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecsx1440.tfm" 1136768653 3584 9bd2baa3a21be3460ad52867ca0084f1 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1246382020 916 f87d7c45f9c908e672703b83b72241a3 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" 1246382020 928 2dc8d444221b7a635bb58038579b861a ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" 1246382020 908 2921f8a10601f252058503cc6570e581 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1246382020 940 228d6584342e91276bf566bcf9716b83 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1136768653 1288 655e228510b4c2a1abe905c368440826 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm" 1575236847 588 30b875a179a99eec0f6f0a2540c942c1 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mcl.tfm" 1136768653 620 19c124db3cfab09e2a270e93c0b94c1c ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm" 1575236847 1572 233cc1d2fe9da0b3f64c907e5d58b292 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ml.tfm" 1136768653 1120 281c7872a1f3fc686c053051e921a432 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mlit.tfm" 1136768653 1076 2f8bbd0154a18a0fd665f046ebdfecb3 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ms.tfm" 1136768653 1184 c045430d3c50e3ac06be4ea09e23cd04 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/futr8t.tfm" 1136768653 16984 6d4d92d3efaef5cab6a470d5d5548d56 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm" 1177591358 1368 99619f7bc8a4a375fcb21bf87f7e8b17 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm" 1177591358 1704 843e3f158d760e961a55e682635af76d ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm" 1177591358 1468 cf5c4cb2bf4b2c1807b5813f5820e2dd ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm" 1558214095 1328 8f7396ab15954094ca9576957bd516dd ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/skaknew/SkakNew-Diagram.tfm" 1234978116 728 5bcda46594b54e6701133e5bcfdb07af ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/skaknew/SkakNew-Figurine.tfm" 1136768653 656 d5f1171a2115ce2d27a740d37272175a ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msam10.pfb" 1248133631 31764 459c573c03a4949a528c2cc7f557e217 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb" 1248133631 34694 ad62b13721ee8eda1dcc8993c8bd7041 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/fourier/fourier-bb.pfb" 1136849748 6232 c3fc7954848548c26c82678efc1400a6 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/fourier/fourier-mex.pfb" 1575236847 35376 a07df24b37ec077fc9f917f37a80f694 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/fourier/fourier-mlit.pfb" 1136849748 13137 9cf0e1f3fa8b74ec708377d745022d53 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/fourier/fourier-ms.pfb" 1575236847 22238 87e9c1bfb269d3da7d96d9f4df8849d2 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/inconsolata/Inconsolata-zi4r.pfb" 1558214095 55526 184de5d68af8c544d6d1653244a2b006 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/skaknew/SkakNew-Figurine.pfb" 1234978116 14111 93c0a39c75ec3a9aa19c23c9313715ca ""
"/usr/share/texlive/texmf-dist/fonts/type1/urw/ncntrsbk/uncb8a.pfb" 1136849748 48864 96901a485f69890f3d64b5f7b7218eb3 ""
"/usr/share/texlive/texmf-dist/fonts/type1/urw/ncntrsbk/uncr8a.pfb" 1136849748 46830 624e2afdf1987af1003e0fa8f7d5d313 ""
"/usr/share/texlive/texmf-dist/fonts/type1/urw/ncntrsbk/uncri8a.pfb" 1136849748 45832 e347aaf9b53b931665ec33b7dde3a94c ""
"/usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncb8t.vf" 1136768653 2352 364e27135b71dfb69f651531b556c009 ""
"/usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8c.vf" 1136768653 3556 d62234d895fc58316ef3155c185e700f ""
"/usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8t.vf" 1136768653 2348 ea2f0e84361777bc0fecbbff98dffa71 ""
"/usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncri8t.vf" 1136768653 2324 9b16fb95256c525932108ef5cb64f427 ""
"/usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncmii.vf" 1177591358 1364 75e4e4f0dd1b9063a2bbe605af4fccf5 ""
"/usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncsy.vf" 1177591358 1244 3910ad12298c013d192e08240b1b200b ""
"/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b ""
"/usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1575674566 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 ""
"/usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf" 1496785618 7008 9ff5fdcc865b01beca2b0fe4a46231d4 ""
"/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def" 1594674696 109003 5221180ec273789a0ce3162f6932300a ""
"/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty" 1594674696 35557 fd9aed184cb6c2ec71927f6ebd72269d ""
"/usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def" 1589491462 5211 2c3605e674ad86cdc9fdcfcd3de3a1da ""
"/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1576625341 40635 c40361e206be584d448876bba8a64a3b ""
"/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty" 1576016050 33961 6b5c75130e435b2bfdb9f480a09a39f9 ""
"/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty" 1576625273 7734 b98cbb34c81f667027c1e3ebdbfce34b ""
"/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty" 1576625223 8371 9d55b8bd010bc717624922fb3477d92e ""
"/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty" 1583617216 6501 4011d89d9621e0b0901138815ba5ff29 ""
"/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty" 1572645307 1057 525c2192b5febbd8c1f662c9468335bb ""
"/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty" 1575499628 8356 7bbb2c2373aa810be568c29e333da8ed ""
"/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty" 1576625065 31769 002a487f55041f8e805cfbf6385ffd97 ""
"/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1576878844 5412 d5a2436094cd7be85769db90f29250a6 ""
"/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty" 1576624944 13807 952b0226d4efca026f0e19dd266dcc22 ""
"/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1576624883 18552 1e1cc7b75da0dfaacce7cdcb27d306bf ""
"/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty" 1576015897 19007 15924f7228aca6c6d184b115f4baa231 ""
"/usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty" 1593379760 20089 80423eac55aa175305d35b49e04fe23b ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex" 1557692582 992 fb3cda354707a54fda62787a411c7c22 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex" 1546728038 43820 bc6cf5aa959817914ace33f5c6232161 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex" 1557692582 19324 c9a64402f22bd8d81821141a357af653 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex" 1546728038 6038 d639d02574be9a72f3c602c2a3510e02 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex" 1546728038 6948 284bbe3c9a7ca0a826c1c03895e69b9f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex" 1546728038 4883 a6f3eb1f71d8c4affaf43a169828b043 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex" 1546728038 2544 3b1b198fd49f01e328adc9162a07b213 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex" 1576793519 44189 1fd6229dad4c898883516c032f2ca5d2 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex" 1546728038 17311 3092579be20ef0f229c42ad3f09da85c ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex" 1546728038 21302 d6c4b340248adbe650ebf6ca76bdccca ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex" 1562964315 9690 7585efa5a591822837f837bc5bc35621 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex" 1576793519 33335 942ccafe284041918d36e54696b98aa7 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex" 1546728038 2965 502761b60f43ab2de5ecb2f4625163ae ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex" 1546728038 5196 f8c5c775d4d6e2cb050392127cabda72 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex" 1576793519 20726 ed6ec1d6f0f35e7a93de4e79af83dbce ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex" 1557692582 35249 144a6b9c4df4644618bb3a0a40472608 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex" 1546728038 21989 266e83c51fe41eb8b8d5e6896dc71cc1 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex" 1546728038 8842 5cc856e132fac404805c6da091779283 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex" 1546728038 5493 6342997a7484f1ea9feacd1b25ead9ea ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex" 1546728038 321 61aafaff3134e44ce6305fdd6927cdc5 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex" 1546728038 1319 b38e66120927828ef91b8bfec59e82f3 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.shapes.code.tex" 1546728038 315 7c9ae03b83e0861e75800799cbeea591 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.code.tex" 1546728038 770 618a89f4ac550a393f10702d3046162f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarysnakes.code.tex" 1546728038 2732 c03acc4808c036910cff2fb61d6043dd ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex" 1576793519 11544 2a5d66a3270abf4ef673e8a0b7734a90 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex" 1576967981 187592 7922ceab1864698dec4c84978d5b182f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex" 1557692582 8843 8328b4068b5b11eaa173e0957cd0eac5 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex" 1546728038 7474 acce7114514030373cc6cb938a73a92e ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.shapes.code.tex" 1557692582 16467 cc12f9d13de69c013ea68e656fa0a991 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex" 1546728038 7936 1d559f55663b722daf7ce26cef4c3906 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex" 1546728038 32995 a4d54c043ae5274ceaaddeb36ad43a6f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfint.code.tex" 1557692582 3063 8c415c68a0f3394e45cfeca0b65f6ee6 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex" 1557692582 521 c70cf6ad609de83a27ee7929eb356332 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex" 1557692582 13391 933cab19c6d27039dbfc487330d1005a ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex" 1557692582 104938 15f2d8bdabd6bf9ca70f62cd8e3d4940 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex" 1557692582 10157 218d58ab074e5bd0d027de45ec64cc00 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex" 1576793519 28176 568b081ec39645f2db1a29fbd0c635e2 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex" 1562964315 9054 388d21239a1b6df2cc8beaae31c976b0 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex" 1557692582 3865 cddf7ddc80f018587c55afdcc79fc333 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex" 1557692582 3177 27d85c44fbfe09ff3b2cf2879e3ea434 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex" 1557692582 10925 df50b8a6e5660a585e3a2bf55726dcc8 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex" 1562964315 7787 1750fc3f164703caf31fc8ea9218c67e ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex" 1557692582 3379 cbd0948a550bd7a495a160ca6beee9ed ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex" 1557692582 92405 bba89470858d7b0788a9c09331c39653 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex" 1576793519 36526 453db1f8626a56b5ebb0fad496d6a39f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex" 1576793519 8471 b18959397c76e1e582402ab9f592ed9f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.tex" 1557692582 71722 1aa2adb2b5cb7aafc25e92426626ab63 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex" 1576793519 21201 46a4dded6619f990ac7347f99fbaac9f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex" 1557692582 16121 9e240115374a8d489f2f786115df83a9 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex" 1576793519 43259 3e05ba63539916af2eaca603c2eda780 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/pgf.revision.tex" 1578520427 465 1f401ab1e7fc6cb7ede39e96c66531fd ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg" 1557692582 926 70ff613fabeb70f5d1673dc0c93987bd ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def" 1557692582 5546 3586827e6032c95512b2a6682d2979a3 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def" 1562964315 12603 c02869ea216d842c29d52fae8738264e ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex" 1557692582 60269 e86bc0081af83a4ad47e4500ee09a2e4 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex" 1557692582 1896 82c274ff520f9e450ccea4e3ef4edc12 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex" 1557692582 7778 a25a32a10ca820357491d4c7b3ac02ea ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex" 1562964315 23777 cb6c8f02f87d86d621f5cb92c44f4998 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex" 1576793519 36815 f7f1772c398f07af2cb741992963045c ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex" 1562964315 37439 bd44d50aef702b03193f731207931834 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex" 1557692582 4494 7e5ace0ccf59408f2cf63219a5d36927 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex" 1557692582 7250 03b2b9fb5fa38e7ca5cc3c45860fb210 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex" 1576793519 28309 488ccc6c701bbdd1bf671f708757aa5c ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def" 1562964315 6286 1bd76fc45da9929ab2a64f51cba3ab6f ""
"/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1576624663 7008 f92eaa0a3872ed622bbf538217cd2ab7 ""
"/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex" 1417732693 19231 26434a5656c684f5ffb1f26f98006baa ""
"/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex" 1403829539 7677 6f5ce7c1124cad7ec57d05b2562bd8fe ""
"/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty" 1359763108 5949 3f3fd50a8cc94c3d4cbf4fc66cd3df1c ""
"/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty" 1359763108 13829 94730e64147574077f8ecfea9bb69af4 ""
"/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd" 1359763108 961 6518c6525a34feb5e8250ffa91731cff ""
"/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd" 1359763108 961 d02606146ba5601b5645f987c92e6193 ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1523134290 2211 ca7ce284ab93c8eecdc6029dc5ccbd73 ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty" 1523134290 4161 7f6eb9092061a11f87d08ed13515b48d ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty" 1580683321 85660 baee036978c7a91f4e2bba43f05e5945 ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty" 1523134290 4116 32e6abd27229755a83a8b7f18e583890 ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty" 1523134290 2432 8ff93b1137020e8f21930562a874ae66 ""
"/usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty" 1576191570 19336 ce7ae9438967282886b3b036cfad1e4d ""
"/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty" 1576625391 3935 57aa3c3e203a5c2effb4d2bd2efbc323 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/bk12.clo" 1580683321 8283 e1a5378f1428da595f40ba12daa0da23 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/book.cls" 1580683321 23147 87043b6c3ff70b5e5185aee55d462dd7 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty" 1581632200 4947 0c2888dd88121ae675fc6e82213623ba ""
"/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty" 1580683321 5159 892429808d9e0e2b3548aaefd9a06ed0 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty" 1580683321 5050 8933a39ad74377accd18991c5eb90c58 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty" 1580683321 1940 dd4f2aa11c89855a3c47d09758782ba5 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/t1cmss.fd" 1580683321 2622 2e7b4cea91736cafdafba1c0db58bc1c ""
"/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty" 1581112666 2821 2c0928feafd5527387e29a1af774d030 ""
"/usr/share/texlive/texmf-dist/tex/latex/chessfss/chessfss.sty" 1194964306 25613 e00b59d2f1246643105be88cf95ecec1 ""
"/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsbenc.def" 1194964306 6202 1f7cff4a5b7a6122f6f6fbf7fcb63d55 ""
"/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsbskaknew.fd" 1194964306 867 d230716401c7d771813064e277f44168 ""
"/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsfenc.def" 1194964306 1488 c5a7fc250bc3fc663473729648c42782 ""
"/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsfskaknew.fd" 1194964306 978 76cce77b9f4e0a8b051e2270020b9e60 ""
"/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsienc.def" 1194964306 5234 a3e1dd9bc0590363f2e071dff494772e ""
"/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsiskaknew.fd" 1194964306 978 2bb8d1592e40428b112e9f757469ca35 ""
"/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty" 1579991017 10793 d0af3aa11e27ae35ba4685b17597b122 ""
"/usr/share/texlive/texmf-dist/tex/latex/enumitem/enumitem.sty" 1561238569 51697 f8f08183cd2080d9d18a41432d651dfb ""
"/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty" 1579991033 13886 d1306dcf79a944f6988e688c1785f9ce ""
"/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty" 1594851515 45550 25b26e89acd0ac6952aa57218c49823c ""
"/usr/share/texlive/texmf-dist/tex/latex/fourier/fmxfutm.fd" 1583369434 233 5da3aecc2ecc91ad521e14c7ae2b47ed ""
"/usr/share/texlive/texmf-dist/tex/latex/fourier/fourier-orns.sty" 1583369434 4980 755a4f73274e4e8a6794873619c6a5e3 ""
"/usr/share/texlive/texmf-dist/tex/latex/fourier/fourier.sty" 1583369434 15200 abf68c2fd0b8844b873abba24cf03c04 ""
"/usr/share/texlive/texmf-dist/tex/latex/fourier/t1futs.fd" 1137110168 1110 49fc682812e5bf3bf06c16254f321544 ""
"/usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmlfncm.fd" 1177591358 642 1244cf5bf948d4963271409ea88f8543 ""
"/usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmlfncmi.fd" 1177591358 658 38105857d89472be8eed26cc32e6f688 ""
"/usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmsfncm.fd" 1177591358 346 114ff322312f6e62ea484cc7c8a1085d ""
"/usr/share/texlive/texmf-dist/tex/latex/fouriernc/fouriernc.sty" 1177591358 1311 84623040e092276cb869b40b1179dc87 ""
"/usr/share/texlive/texmf-dist/tex/latex/fouriernc/t1fnc.fd" 1177591358 853 bf1a149b86e36dfa4f5900e28e7a599d ""
"/usr/share/texlive/texmf-dist/tex/latex/fouriernc/ts1fnc.fd" 1177591358 673 ef297c63bd6faa9147e47afb97689b1c ""
"/usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty" 1338588508 22449 7ec15c16d0d66790f28e90343c5434a3 ""
"/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty" 1578002852 41601 9cf6c5257b1bc7af01a58859749dd37a ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1459978653 1213 620bba36b25224fa9b7e1ccb4ecb76fd ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1465944070 1224 978390e9c2234eab29404bc21b268d1e ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def" 1585083172 17448 c8e20d5f7e69b0cbecf82ab29daeebd9 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty" 1580683321 16932 04729abe63b66ec59ea56edcd722b058 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty" 1580683321 9067 1b996612394a52e1efe89c8bfe8a5892 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty" 1580683321 2590 e3b24ff953e5b58d924f163d25380312 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty" 1580683321 3976 d7fa7d81d2870d509d25b17d0245e735 ""
"/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty" 1580250785 17914 4c28a13fc3d975e6e81c9bea1d697276 ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def" 1589664343 50570 2e81797743231d9037b0cbe3436d74ba ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty" 1589664343 236775 8ab18a05f69e6caef423fa59cb0af03b ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty" 1579642962 13244 0070bcab7b5a88187847128d22faf4d8 ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def" 1589664343 14134 c11767c54bd7ecab56984ee4e4e3158c ""
"/usr/share/texlive/texmf-dist/tex/latex/idxlayout/idxlayout.sty" 1333316516 7704 9dd52a993a650479419016c60d0b0a2d ""
"/usr/share/texlive/texmf-dist/tex/latex/inconsolata/inconsolata.sty" 1558214095 4327 344b968526dbd149d23066f8b2160aa4 ""
"/usr/share/texlive/texmf-dist/tex/latex/inconsolata/t1zi4.fd" 1516054831 1021 03341d1cf7f388bbac1915f944d5d128 ""
"/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1575152344 22520 c4c2dab203104295e1e618be7e5c0f5b ""
"/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def" 1593552530 24606 ecae4e851ce9ce4554d156050e5057f9 ""
"/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1279039959 678 4792914a8f45be57bb98413425e4c7af ""
"/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty" 1575499565 5766 13a9e8766c47f30327caf893ece86ac8 ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg" 1585170648 1830 e31effa752c61538383451ae21332364 ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty" 1585170648 80964 64e57373f36316e4a09b517cbf1aba2e ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty" 1585170648 204271 bae5b2d457283e99567249c1990510be ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty" 1585170648 77022 ee25ce086f4a79d8cf73bac6f94c02a5 ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-pdftex.def" 1574121697 49144 f65726c0bb1ab4ed492745853eff47bf ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg" 1574121697 24293 cbbba0a351268f01b03f4a3b8b367d3c ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty" 1574121697 71539 3e8331ef062d90caeae5fc7360dcd5bf ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msa.cfg" 1570829597 5893 1a8b936193a3ad84972b7098edd47fb7 ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msb.cfg" 1570829597 5558 8dd91de9252789fb361ad96b452fc4a7 ""
"/usr/share/texlive/texmf-dist/tex/latex/ms/everysel.sty" 1320274502 4623 936bfb87af7b91b6496a2317f80db16b ""
"/usr/share/texlive/texmf-dist/tex/latex/ms/everyshi.sty" 1177890616 3878 6aa7c08ff2621006e0603349e40a30a8 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty" 1546728038 1090 d20f587ea9464d1841bd0d13d3ff9856 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty" 1288312291 410 5bf12ea7330e5f12c445332a4fe9a263 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty" 1546728038 21013 e98e1aaaf40d31632787c2bd25d24b57 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty" 1546728038 989 2cf3da8e8ec55131c49389428d565e37 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty" 1203877327 339 592cf35cba3d400082b8a9a5d0199d70 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty" 1393459310 306 0796eafca5e159e6ec2167a6d22d81b1 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty" 1393459310 443 0b2e781830192df35c0fd357cf13e26e ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty" 1393459310 348 8927fde343487e003b01a4c2ca34073b ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty" 1203727794 274 4cad6e665cc93ac2ac979039a94fa1e1 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty" 1203877327 325 2bcd023400636339210573e2b3ee298b ""
"/usr/share/texlive/texmf-dist/tex/latex/psnfss/pifont.sty" 1586716065 2283 62e73848f29fd8cd37fb7974c7cf2221 ""
"/usr/share/texlive/texmf-dist/tex/latex/psnfss/upsy.fd" 1137110629 148 2da0acd77cba348f34823f44cabf0058 ""
"/usr/share/texlive/texmf-dist/tex/latex/psnfss/upzd.fd" 1137110629 148 b2a94082cb802f90d3daf6dd0c7188a0 ""
"/usr/share/texlive/texmf-dist/tex/latex/ragged2e/ragged2e.sty" 1564521318 9974 f2895af67a8ceb11ae60d6efbed7dc62 ""
"/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty" 1576624809 9878 9e94e8fa600d95f9c7731bb21dfb67a4 ""
"/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1575674187 9715 b051d5b493d9fe5f4bc251462d039e5f ""
"/usr/share/texlive/texmf-dist/tex/latex/skak/skak.sty" 1515536996 63275 280435955f7ca7112859df476a7e3ab3 ""
"/usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty" 1571259403 48596 2b6a95da931c07a430b1a61904aaa42d ""
"/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty" 1580683321 12560 ce3f59ceae9d9a27bfe037d6bf1d903c ""
"/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty" 1580683321 10216 5efd55f2010055e7b7875afd6a75be82 ""
"/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty" 1580683321 31532 04852e45d7c17cb384689d2f83b628d3 ""
"/usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty" 1334873510 1048 517e01cde97c1c0baf72e69d43aa5a2e ""
"/usr/share/texlive/texmf-dist/tex/latex/url/url.sty" 1388531844 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
"/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty" 1463002160 55589 34128738f682d033422ca125f82e5d62 ""
"/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty" 1417732693 4962 9c1069474ff71dbc47d5006555e352d3 ""
"/usr/share/texlive/texmf-dist/tex/plain/lambda-lists/lambda.sty" 1376086551 2562 23a5a0a7c29c93b4624fddec02c87f51 ""
"/usr/share/texlive/texmf-dist/web2c/texmf.cnf" 1596975543 38841 5237427e4d3283e7b009b6a8b45dfdcd ""
"/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-t1.enc" 1565080000 2971 def0b6c1f0b107b3b936def894055589 ""
"/usr/share/texmf/fonts/type1/public/cm-super/sfsx1440.pfb" 1612129071 148301 cb90e68db88ca98c49afbaaab3ac1967 ""
"/usr/share/texmf/web2c/texmf.cnf" 1596975543 38841 5237427e4d3283e7b009b6a8b45dfdcd ""
"/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1612129098 4873311 71a69169e8f25b40365ee00977a83dfd ""
"/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1612129135 2444299 146d04d874979ec1ef6d9cc5e0c9696c ""
"book.tex" 1612122515 2524 058eeb4c736cfa461f8e05b2b1f1ac14 ""
"chapter01.tex" 1612122515 29550 70393d222b4fc8ea427bde7c8021f00b ""
"chapter02.tex" 1612122515 14978 95d8c6e8c7845e3e380fb1ac390629af ""
"chapter03.tex" 1612122515 24442 78f2d12f3b9eff9e18236366add55585 ""
"chapter04.tex" 1612122515 21726 f1b3e07badac19139d92a35273fd4f5d ""
"chapter05.tex" 1612122515 22856 cfe0eada35a29b9eb23f7185f14e6179 ""
"chapter06.tex" 1612122515 20074 cedc226f0dd0df4f686b2d95a9eeb178 ""
"chapter07.tex" 1612122515 32371 758d45fbfde9b1f23cb15758a5e423e5 ""
"chapter08.tex" 1612122515 19872 c5999509462bd9b90098993dae192a4a ""
"chapter09.tex" 1612122515 40205 87cd1df6510b8fbcd181471874dc2f0f ""
"chapter10.tex" 1612122515 26108 6755555fd1ba6792314922e8c4e5b523 ""
"chapter11.tex" 1612122515 22519 611fb31a09ca87b54aa43e1d228749ee ""
"chapter12.tex" 1612122515 16439 fa8fc3cf7373e4625cf1c0c4f4608a93 ""
"chapter13.tex" 1612122515 28091 d0f4de085331efb85061a3784e1ebe9f ""
"chapter14.tex" 1612122515 19484 d025b8ed332cfaa19713e0a00680c617 ""
"chapter15.tex" 1612122515 25543 b218f61a28e280252efa3870e669bc27 ""
"chapter16.tex" 1612122515 24005 4e51d4eaa6aec5eeb72cbfe30159afdb ""
"chapter17.tex" 1612122515 17705 77210c4eb6c4e1b9f9b019e12ce98a99 ""
"chapter18.tex" 1612122515 37190 34326cdc54867199708639d1e35bfd37 ""
"chapter19.tex" 1612122515 24243 c33c4149ee08f8124def1e258a26e742 ""
"chapter20.tex" 1612122515 53453 5c82b440b8f6f284d8dcc42e05b18c98 ""
"chapter21.tex" 1612122515 21095 21521994280784c9c9047c53575e2457 ""
"chapter22.tex" 1612122515 26854 6c4d5647dc6642c117665b2881412a4f ""
"chapter23.tex" 1612122515 18216 742dfe8f254b5bcb4485108f2f197906 ""
"chapter24.tex" 1612122515 21101 b8f53b77be15f0d8766eeec624555195 ""
"chapter25.tex" 1612122515 22923 57e03324a54f96d96eb2ca4c3222bcc8 ""
"chapter26.tex" 1612122515 32807 62a59d60cb9c8776c5a0178dab746749 ""
"chapter27.tex" 1612122515 17978 2ff3b97cc42a32be2bbcbfe20f85bcab ""
"chapter28.tex" 1612122515 37411 3eda2c79e0edcf346a5ced47dbfc3dda ""
"chapter29.tex" 1612122515 22848 6d8477c525758fe62fedccbcc01a1253 ""
"chapter30.tex" 1612122515 24945 fcc2971ab39798c83607b26076d89435 ""
"list.tex" 1612122515 11810 32d2d455c8fb6ad6347d2e06f136add4 ""
"output/book.aux" 1612133640 1985 e35dd16e03e1294fc32280b75d994c3e "pdflatex"
"output/book.ind" 1612133277 13602 4b4e1e84aa5ad14dc3a6912d71832a45 "makeindex output/book.idx"
"output/book.out" 1612133640 9757 d49b8dda359570b7d8594f8ab35a4441 "pdflatex"
"output/book.toc" 1612133640 26796 526f9e67d574dbb3aff55036f1e20729 "pdflatex"
"output/chapter01.aux" 1612133617 3602 b99c0f9a533d6ea6e8f320d6284a559c "pdflatex"
"output/chapter02.aux" 1612133617 2151 0e70ffe3a61f2e20b5cabc6046a38381 "pdflatex"
"output/chapter03.aux" 1612133618 3001 8026f83b2a0d506c762b7363121f5e18 "pdflatex"
"output/chapter04.aux" 1612133618 3164 3d185bcd0a7ff34571676eabcb0c6c19 "pdflatex"
"output/chapter05.aux" 1612133618 2751 9d911e18eb53985dc5daa7cd2a72663f "pdflatex"
"output/chapter06.aux" 1612133619 2322 599e490e7576bfb3bf52a567502b37c8 "pdflatex"
"output/chapter07.aux" 1612133619 2428 1228804d8160cd0dc0510e0de9e5d0e8 "pdflatex"
"output/chapter08.aux" 1612133620 1783 5087e36d9fcaf486cbed0f88f77d230f "pdflatex"
"output/chapter09.aux" 1612133621 2705 b951d053a5c32571a64dcd8bbd5df8af "pdflatex"
"output/chapter10.aux" 1612133622 3355 5d74d471b19cc700b6b12917c1a51324 "pdflatex"
"output/chapter11.aux" 1612133622 2447 b9ce5ddf8993079f9d6122941b4ceabe "pdflatex"
"output/chapter12.aux" 1612133623 1887 35f46f162671b4dd90bab449cc055a7a "pdflatex"
"output/chapter13.aux" 1612133624 2629 c85de49f70bdc1134d252a109f95ade2 "pdflatex"
"output/chapter14.aux" 1612133625 1986 1680bd980c44bfb0dcca5dba62c83ed9 "pdflatex"
"output/chapter15.aux" 1612133625 2363 caf522a4437a71e47b58232551365428 "pdflatex"
"output/chapter16.aux" 1612133626 2481 e76d7a960e35b72ec1d8aa692c86c4da "pdflatex"
"output/chapter17.aux" 1612133627 1707 bf3f33c778046a96ceae01a57143670a "pdflatex"
"output/chapter18.aux" 1612133629 2496 4b17b16048a83d63591c233f65a2b21b "pdflatex"
"output/chapter19.aux" 1612133630 2362 b97f6c7c13006e768bece9baea23986f "pdflatex"
"output/chapter20.aux" 1612133633 3174 6b29f5d766a50cd422f19de9dc375fed "pdflatex"
"output/chapter21.aux" 1612133634 3519 ee864232863750c4dcbd746e221852b6 "pdflatex"
"output/chapter22.aux" 1612133635 2971 1913e70fe1652c658ea7520335acd5a0 "pdflatex"
"output/chapter23.aux" 1612133635 2445 0d22c43d11ebd75e92dec0df70a6f02f "pdflatex"
"output/chapter24.aux" 1612133635 2808 99a7b5babcebdd94d536be62f290c43d "pdflatex"
"output/chapter25.aux" 1612133636 2339 f0ac931150b62ef32a506cd3cb496651 "pdflatex"
"output/chapter26.aux" 1612133637 1957 a087120395ed3b2d649a1a94bc174f1d "pdflatex"
"output/chapter27.aux" 1612133638 2031 e7713f9b2a250d3d5595ab967963bb88 "pdflatex"
"output/chapter28.aux" 1612133639 2142 265262881b81a6d0af001609ddd8de2d "pdflatex"
"output/chapter29.aux" 1612133640 2361 3d4bbb654d557304e35ccde08200dbef "pdflatex"
"output/chapter30.aux" 1612133640 1605 3a40a3032d91d25adabd9dea4e96429d "pdflatex"
"output/list.aux" 1612133640 2387 e650e2f3be48d7844a07e1e5cb1850b2 "pdflatex"
"output/preface.aux" 1612133617 1084 dce388f45f768e6aaad428ce5fefc0eb "pdflatex"
"preface.tex" 1612122515 1092 bd42e603f7e4a73f2fff7980cc98ad0c ""
(generated)
"output/chapter21.aux"
"output/chapter28.aux"
"output/book.idx"
"output/chapter29.aux"
"output/chapter24.aux"
"output/chapter05.aux"
"output/chapter10.aux"
"output/chapter06.aux"
"output/preface.aux"
"output/chapter20.aux"
"output/chapter07.aux"
"output/book.log"
"output/chapter03.aux"
"output/chapter02.aux"
"output/chapter11.aux"
"output/chapter18.aux"
"output/book.toc"
"output/list.aux"
"output/chapter19.aux"
"output/chapter14.aux"
"output/chapter22.aux"
"output/chapter27.aux"
"output/chapter16.aux"
"output/chapter23.aux"
"output/chapter15.aux"
"output/book.out"
"output/book.aux"
"output/chapter26.aux"
"output/chapter17.aux"
"output/chapter13.aux"
"output/chapter25.aux"
"output/book.pdf"
"output/chapter08.aux"
"output/chapter09.aux"
"output/chapter04.aux"
"output/chapter12.aux"
"output/chapter30.aux"
"output/chapter01.aux"

View File

@ -1,819 +0,0 @@
PWD /home/bibin/SOI-Leader/git/cphb
INPUT /etc/texmf/web2c/texmf.cnf
INPUT /usr/share/texmf/web2c/texmf.cnf
INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf
INPUT /var/lib/texmf/web2c/pdftex/pdflatex.fmt
INPUT book.tex
OUTPUT ./output/book.log
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/book.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/book.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/bk12.clo
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/bk12.clo
INPUT /usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/ms/everyshi.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/ms/everyshi.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/pgf.revision.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/pgf.revision.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfint.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fouriernc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fouriernc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/fourier.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/fourier.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/t1futs.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/t1futs.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/futr8t.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/fourier-orns.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/fourier-orns.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/t1fnc.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/t1fnc.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/pifont.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/pifont.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/upzd.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/upzd.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/zapfding/pzdr.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/upsy.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/upsy.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/symbol/psyr.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/enumitem/enumitem.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/enumitem/enumitem.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/skak/skak.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/skak/skak.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/chessfss.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/chessfss.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsbenc.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsbenc.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsfenc.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsfenc.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsienc.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsienc.def
INPUT /usr/share/texlive/texmf-dist/tex/plain/lambda-lists/lambda.sty
INPUT /usr/share/texlive/texmf-dist/tex/plain/lambda-lists/lambda.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsbskaknew.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsbskaknew.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/skaknew/SkakNew-Diagram.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1cmss.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1cmss.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecss1000.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/inconsolata/inconsolata.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/inconsolata/inconsolata.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarysnakes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarysnakes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.shapes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.shapes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.shapes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.shapes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
OUTPUT ./output/book.idx
INPUT /usr/share/texlive/texmf-dist/tex/latex/idxlayout/idxlayout.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/idxlayout/idxlayout.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/ragged2e/ragged2e.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/ragged2e/ragged2e.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/ragged2e/ragged2e.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/ms/everysel.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/ms/everysel.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
INPUT ./output/book.aux
INPUT ./output/book.aux
INPUT ./output/preface.aux
INPUT ./output/preface.aux
INPUT ./output/chapter01.aux
INPUT ./output/chapter01.aux
INPUT ./output/chapter02.aux
INPUT ./output/chapter02.aux
INPUT ./output/chapter03.aux
INPUT ./output/chapter03.aux
INPUT ./output/chapter04.aux
INPUT ./output/chapter04.aux
INPUT ./output/chapter05.aux
INPUT ./output/chapter05.aux
INPUT ./output/chapter06.aux
INPUT ./output/chapter06.aux
INPUT ./output/chapter07.aux
INPUT ./output/chapter07.aux
INPUT ./output/chapter08.aux
INPUT ./output/chapter08.aux
INPUT ./output/chapter09.aux
INPUT ./output/chapter09.aux
INPUT ./output/chapter10.aux
INPUT ./output/chapter10.aux
INPUT ./output/chapter11.aux
INPUT ./output/chapter11.aux
INPUT ./output/chapter12.aux
INPUT ./output/chapter12.aux
INPUT ./output/chapter13.aux
INPUT ./output/chapter13.aux
INPUT ./output/chapter14.aux
INPUT ./output/chapter14.aux
INPUT ./output/chapter15.aux
INPUT ./output/chapter15.aux
INPUT ./output/chapter16.aux
INPUT ./output/chapter16.aux
INPUT ./output/chapter17.aux
INPUT ./output/chapter17.aux
INPUT ./output/chapter18.aux
INPUT ./output/chapter18.aux
INPUT ./output/chapter19.aux
INPUT ./output/chapter19.aux
INPUT ./output/chapter20.aux
INPUT ./output/chapter20.aux
INPUT ./output/chapter21.aux
INPUT ./output/chapter21.aux
INPUT ./output/chapter22.aux
INPUT ./output/chapter22.aux
INPUT ./output/chapter23.aux
INPUT ./output/chapter23.aux
INPUT ./output/chapter24.aux
INPUT ./output/chapter24.aux
INPUT ./output/chapter25.aux
INPUT ./output/chapter25.aux
INPUT ./output/chapter26.aux
INPUT ./output/chapter26.aux
INPUT ./output/chapter27.aux
INPUT ./output/chapter27.aux
INPUT ./output/chapter28.aux
INPUT ./output/chapter28.aux
INPUT ./output/chapter29.aux
INPUT ./output/chapter29.aux
INPUT ./output/chapter30.aux
INPUT ./output/chapter30.aux
INPUT ./output/list.aux
INPUT ./output/list.aux
OUTPUT ./output/book.aux
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmlfncmi.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmlfncmi.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmsfncm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmsfncm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/fmxfutm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/fmxfutm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsfskaknew.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsfskaknew.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsiskaknew.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsiskaknew.fd
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
INPUT ./output/book.out
INPUT ./output/book.out
INPUT ./output/book.out
INPUT ./output/book.out
OUTPUT ./output/book.pdf
INPUT ./output/book.out
INPUT ./output/book.out
OUTPUT ./output/book.out
INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmlfncm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmlfncm.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msa.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msa.cfg
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msb.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msb.cfg
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8t.tfm
INPUT ./output/book.toc
INPUT ./output/book.toc
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncb8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncb8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncb8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8r.tfm
OUTPUT ./output/book.toc
OUTPUT ./output/preface.aux
INPUT preface.tex
INPUT preface.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/inconsolata/t1zi4.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/inconsolata/t1zi4.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm
OUTPUT ./output/chapter01.aux
INPUT chapter01.tex
INPUT chapter01.tex
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncb8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecsx1440.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncsy.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ms.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mcl.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncmii.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mlit.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ml.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncsy.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ms.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mcl.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncri8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncmii.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mlit.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ml.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncb8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8r.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/ts1fnc.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/ts1fnc.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8c.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8c.vf
OUTPUT ./output/chapter02.aux
INPUT chapter02.tex
INPUT chapter02.tex
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncri8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8r.tfm
OUTPUT ./output/chapter03.aux
INPUT chapter03.tex
INPUT chapter03.tex
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncmii.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mlit.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ml.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm
OUTPUT ./output/chapter04.aux
INPUT chapter04.tex
INPUT chapter04.tex
OUTPUT ./output/chapter05.aux
INPUT chapter05.tex
INPUT chapter05.tex
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncsy.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ms.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mcl.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncmii.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mlit.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ml.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/skaknew/SkakNew-Figurine.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncmii.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mlit.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ml.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncsy.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ms.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mcl.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
OUTPUT ./output/chapter06.aux
INPUT chapter06.tex
INPUT chapter06.tex
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncsy.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ms.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mcl.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
OUTPUT ./output/chapter07.aux
INPUT chapter07.tex
INPUT chapter07.tex
OUTPUT ./output/chapter08.aux
INPUT chapter08.tex
INPUT chapter08.tex
OUTPUT ./output/chapter09.aux
INPUT chapter09.tex
INPUT chapter09.tex
OUTPUT ./output/chapter10.aux
INPUT chapter10.tex
INPUT chapter10.tex
OUTPUT ./output/chapter11.aux
INPUT chapter11.tex
INPUT chapter11.tex
OUTPUT ./output/chapter12.aux
INPUT chapter12.tex
INPUT chapter12.tex
OUTPUT ./output/chapter13.aux
INPUT chapter13.tex
INPUT chapter13.tex
OUTPUT ./output/chapter14.aux
INPUT chapter14.tex
INPUT chapter14.tex
OUTPUT ./output/chapter15.aux
INPUT chapter15.tex
INPUT chapter15.tex
OUTPUT ./output/chapter16.aux
INPUT chapter16.tex
INPUT chapter16.tex
OUTPUT ./output/chapter17.aux
INPUT chapter17.tex
INPUT chapter17.tex
OUTPUT ./output/chapter18.aux
INPUT chapter18.tex
INPUT chapter18.tex
OUTPUT ./output/chapter19.aux
INPUT chapter19.tex
INPUT chapter19.tex
OUTPUT ./output/chapter20.aux
INPUT chapter20.tex
INPUT chapter20.tex
OUTPUT ./output/chapter21.aux
INPUT chapter21.tex
INPUT chapter21.tex
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncmii.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mlit.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ml.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm
OUTPUT ./output/chapter22.aux
INPUT chapter22.tex
INPUT chapter22.tex
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncmii.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mlit.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ml.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncsy.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ms.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mcl.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
OUTPUT ./output/chapter23.aux
INPUT chapter23.tex
INPUT chapter23.tex
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncmii.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mlit.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ml.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncsy.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ms.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mcl.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
OUTPUT ./output/chapter24.aux
INPUT chapter24.tex
INPUT chapter24.tex
OUTPUT ./output/chapter25.aux
INPUT chapter25.tex
INPUT chapter25.tex
OUTPUT ./output/chapter26.aux
INPUT chapter26.tex
INPUT chapter26.tex
OUTPUT ./output/chapter27.aux
INPUT chapter27.tex
INPUT chapter27.tex
OUTPUT ./output/chapter28.aux
INPUT chapter28.tex
INPUT chapter28.tex
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
OUTPUT ./output/chapter29.aux
INPUT chapter29.tex
INPUT chapter29.tex
OUTPUT ./output/chapter30.aux
INPUT chapter30.tex
INPUT chapter30.tex
OUTPUT ./output/list.aux
INPUT list.tex
INPUT list.tex
INPUT ./output/book.ind
INPUT ./output/book.ind
INPUT ./output/book.aux
INPUT ./output/preface.aux
INPUT ./output/preface.aux
INPUT ./output/chapter01.aux
INPUT ./output/chapter01.aux
INPUT ./output/chapter02.aux
INPUT ./output/chapter02.aux
INPUT ./output/chapter03.aux
INPUT ./output/chapter03.aux
INPUT ./output/chapter04.aux
INPUT ./output/chapter04.aux
INPUT ./output/chapter05.aux
INPUT ./output/chapter05.aux
INPUT ./output/chapter06.aux
INPUT ./output/chapter06.aux
INPUT ./output/chapter07.aux
INPUT ./output/chapter07.aux
INPUT ./output/chapter08.aux
INPUT ./output/chapter08.aux
INPUT ./output/chapter09.aux
INPUT ./output/chapter09.aux
INPUT ./output/chapter10.aux
INPUT ./output/chapter10.aux
INPUT ./output/chapter11.aux
INPUT ./output/chapter11.aux
INPUT ./output/chapter12.aux
INPUT ./output/chapter12.aux
INPUT ./output/chapter13.aux
INPUT ./output/chapter13.aux
INPUT ./output/chapter14.aux
INPUT ./output/chapter14.aux
INPUT ./output/chapter15.aux
INPUT ./output/chapter15.aux
INPUT ./output/chapter16.aux
INPUT ./output/chapter16.aux
INPUT ./output/chapter17.aux
INPUT ./output/chapter17.aux
INPUT ./output/chapter18.aux
INPUT ./output/chapter18.aux
INPUT ./output/chapter19.aux
INPUT ./output/chapter19.aux
INPUT ./output/chapter20.aux
INPUT ./output/chapter20.aux
INPUT ./output/chapter21.aux
INPUT ./output/chapter21.aux
INPUT ./output/chapter22.aux
INPUT ./output/chapter22.aux
INPUT ./output/chapter23.aux
INPUT ./output/chapter23.aux
INPUT ./output/chapter24.aux
INPUT ./output/chapter24.aux
INPUT ./output/chapter25.aux
INPUT ./output/chapter25.aux
INPUT ./output/chapter26.aux
INPUT ./output/chapter26.aux
INPUT ./output/chapter27.aux
INPUT ./output/chapter27.aux
INPUT ./output/chapter28.aux
INPUT ./output/chapter28.aux
INPUT ./output/chapter29.aux
INPUT ./output/chapter29.aux
INPUT ./output/chapter30.aux
INPUT ./output/chapter30.aux
INPUT ./output/list.aux
INPUT ./output/list.aux
INPUT ./output/book.out
INPUT ./output/book.out
INPUT /usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc
INPUT /usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-t1.enc
INPUT /usr/share/texlive/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-0.enc
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/inconsolata/Inconsolata-zi4r.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/skaknew/SkakNew-Figurine.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/fourier/fourier-bb.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/fourier/fourier-mex.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/fourier/fourier-mlit.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/fourier/fourier-ms.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msam10.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb
INPUT /usr/share/texmf/fonts/type1/public/cm-super/sfsx1440.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/ncntrsbk/uncb8a.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/ncntrsbk/uncr8a.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/ncntrsbk/uncri8a.pfb

View File

@ -1,345 +0,0 @@
\indexentry{programming language|hyperpage}{3}
\indexentry{input and output|hyperpage}{4}
\indexentry{integer|hyperpage}{6}
\indexentry{remainder|hyperpage}{6}
\indexentry{modular arithmetic|hyperpage}{6}
\indexentry{floating point number|hyperpage}{7}
\indexentry{tuppdef@\texttt{typedef}|hyperpage}{8}
\indexentry{macro|hyperpage}{9}
\indexentry{arithmetic progression|hyperpage}{10}
\indexentry{Faulhaber's formula|hyperpage}{10}
\indexentry{geometric progression|hyperpage}{11}
\indexentry{harmonic sum|hyperpage}{11}
\indexentry{set theory|hyperpage}{12}
\indexentry{set|hyperpage}{12}
\indexentry{intersection|hyperpage}{12}
\indexentry{union|hyperpage}{12}
\indexentry{difference|hyperpage}{12}
\indexentry{subset|hyperpage}{12}
\indexentry{universal set|hyperpage}{12}
\indexentry{complement|hyperpage}{12}
\indexentry{logic|hyperpage}{13}
\indexentry{negation|hyperpage}{13}
\indexentry{conjuction|hyperpage}{13}
\indexentry{disjunction|hyperpage}{13}
\indexentry{implication|hyperpage}{13}
\indexentry{equivalence|hyperpage}{13}
\indexentry{predicate|hyperpage}{13}
\indexentry{quantifier|hyperpage}{13}
\indexentry{factorial|hyperpage}{14}
\indexentry{Fibonacci number|hyperpage}{14}
\indexentry{Binet's formula|hyperpage}{14}
\indexentry{logarithm|hyperpage}{14}
\indexentry{natural logarithm|hyperpage}{15}
\indexentry{time complexity|hyperpage}{17}
\indexentry{complexity classes|hyperpage}{20}
\indexentry{constant-time algorithm|hyperpage}{20}
\indexentry{logarithmic algorithm|hyperpage}{20}
\indexentry{linear algorithm|hyperpage}{20}
\indexentry{quadratic algorithm|hyperpage}{20}
\indexentry{cubic algorithm|hyperpage}{20}
\indexentry{polynomial algorithm|hyperpage}{20}
\indexentry{NP-hard problem|hyperpage}{20}
\indexentry{constant factor|hyperpage}{21}
\indexentry{maximum subarray sum|hyperpage}{21}
\indexentry{Kadane's algorithm|hyperpage}{23}
\indexentry{sorting|hyperpage}{25}
\indexentry{bubble sort|hyperpage}{25}
\indexentry{inversion|hyperpage}{26}
\indexentry{merge sort|hyperpage}{27}
\indexentry{counting sort|hyperpage}{28}
\indexentry{sort@\texttt{sort}|hyperpage}{29}
\indexentry{comparison operator|hyperpage}{30}
\indexentry{pair@\texttt{pair}|hyperpage}{30}
\indexentry{tuple@\texttt{tuple}|hyperpage}{30}
\indexentry{comparison function|hyperpage}{31}
\indexentry{binary search|hyperpage}{31}
\indexentry{data structure|hyperpage}{35}
\indexentry{dynamic array|hyperpage}{35}
\indexentry{vector|hyperpage}{35}
\indexentry{string|hyperpage}{36}
\indexentry{set|hyperpage}{37}
\indexentry{map|hyperpage}{38}
\indexentry{iterator|hyperpage}{39}
\indexentry{sort@\texttt{sort}|hyperpage}{39}
\indexentry{reverse@\texttt{reverse}|hyperpage}{39}
\indexentry{random\_shuffle@\texttt{random\_shuffle}|hyperpage}{39}
\indexentry{bitset|hyperpage}{41}
\indexentry{deque|hyperpage}{42}
\indexentry{stack|hyperpage}{42}
\indexentry{queue|hyperpage}{43}
\indexentry{priority queue|hyperpage}{43}
\indexentry{heap|hyperpage}{43}
\indexentry{subset|hyperpage}{47}
\indexentry{permutation|hyperpage}{49}
\indexentry{next\_permutation@\texttt{next\_permutation}|hyperpage}{49}
\indexentry{backtracking|hyperpage}{50}
\indexentry{queen problem|hyperpage}{50}
\indexentry{meet in the middle|hyperpage}{54}
\indexentry{greedy algorithm|hyperpage}{57}
\indexentry{data compression|hyperpage}{62}
\indexentry{binary code|hyperpage}{62}
\indexentry{codeword|hyperpage}{62}
\indexentry{Huffman coding|hyperpage}{63}
\indexentry{dynamic programming|hyperpage}{65}
\indexentry{memoization|hyperpage}{67}
\indexentry{longest increasing subsequence|hyperpage}{70}
\indexentry{knapsack|hyperpage}{72}
\indexentry{edit distance|hyperpage}{74}
\indexentry{Levenshtein distance|hyperpage}{74}
\indexentry{amortized analysis|hyperpage}{77}
\indexentry{two pointers method|hyperpage}{77}
\indexentry{2SUM problem|hyperpage}{78}
\indexentry{3SUM problem|hyperpage}{79}
\indexentry{nearest smaller elements|hyperpage}{79}
\indexentry{sliding window|hyperpage}{81}
\indexentry{sliding window minimum|hyperpage}{81}
\indexentry{range query|hyperpage}{83}
\indexentry{sum query|hyperpage}{83}
\indexentry{minimum query|hyperpage}{83}
\indexentry{maximum query|hyperpage}{83}
\indexentry{prefix sum array|hyperpage}{84}
\indexentry{sparse table|hyperpage}{85}
\indexentry{binary indexed tree|hyperpage}{86}
\indexentry{Fenwick tree|hyperpage}{86}
\indexentry{segment tree|hyperpage}{89}
\indexentry{index compression|hyperpage}{93}
\indexentry{difference array|hyperpage}{93}
\indexentry{bit representation|hyperpage}{95}
\indexentry{and operation|hyperpage}{96}
\indexentry{or operation|hyperpage}{96}
\indexentry{xor operation|hyperpage}{97}
\indexentry{not operation|hyperpage}{97}
\indexentry{bit shift|hyperpage}{97}
\indexentry{Hamming distance|hyperpage}{100}
\indexentry{graph|hyperpage}{109}
\indexentry{node|hyperpage}{109}
\indexentry{edge|hyperpage}{109}
\indexentry{path|hyperpage}{109}
\indexentry{cycle|hyperpage}{109}
\indexentry{connected graph|hyperpage}{110}
\indexentry{component|hyperpage}{110}
\indexentry{tree|hyperpage}{110}
\indexentry{directed graph|hyperpage}{110}
\indexentry{weighted graph|hyperpage}{111}
\indexentry{neighbor|hyperpage}{111}
\indexentry{degree|hyperpage}{111}
\indexentry{regular graph|hyperpage}{111}
\indexentry{complete graph|hyperpage}{111}
\indexentry{indegree|hyperpage}{111}
\indexentry{outdegree|hyperpage}{111}
\indexentry{coloring|hyperpage}{112}
\indexentry{bipartite graph|hyperpage}{112}
\indexentry{simple graph|hyperpage}{112}
\indexentry{adjacency list|hyperpage}{113}
\indexentry{adjacency matrix|hyperpage}{114}
\indexentry{edge list|hyperpage}{115}
\indexentry{depth-first search|hyperpage}{117}
\indexentry{breadth-first search|hyperpage}{119}
\indexentry{connected graph|hyperpage}{121}
\indexentry{cycle|hyperpage}{121}
\indexentry{bipartite graph|hyperpage}{122}
\indexentry{shortest path|hyperpage}{123}
\indexentry{BellmanFord algorithm|hyperpage}{123}
\indexentry{negative cycle|hyperpage}{125}
\indexentry{SPFA algorithm|hyperpage}{126}
\indexentry{Dijkstra's algorithm|hyperpage}{126}
\indexentry{FloydWarshall algorithm|hyperpage}{129}
\indexentry{tree|hyperpage}{133}
\indexentry{leaf|hyperpage}{133}
\indexentry{root|hyperpage}{133}
\indexentry{rooted tree|hyperpage}{133}
\indexentry{child|hyperpage}{133}
\indexentry{parent|hyperpage}{133}
\indexentry{subtree|hyperpage}{133}
\indexentry{diameter|hyperpage}{135}
\indexentry{binary tree|hyperpage}{139}
\indexentry{pre-order|hyperpage}{139}
\indexentry{in-order|hyperpage}{139}
\indexentry{post-order|hyperpage}{139}
\indexentry{spanning tree|hyperpage}{141}
\indexentry{minimum spanning tree|hyperpage}{141}
\indexentry{maximum spanning tree|hyperpage}{142}
\indexentry{Kruskal's algorithm|hyperpage}{142}
\indexentry{union-find structure|hyperpage}{145}
\indexentry{Prim's algorithm|hyperpage}{147}
\indexentry{topological sorting|hyperpage}{149}
\indexentry{cycle|hyperpage}{149}
\indexentry{Dijkstra's algorithm|hyperpage}{153}
\indexentry{successor graph|hyperpage}{154}
\indexentry{functional graph|hyperpage}{154}
\indexentry{cycle|hyperpage}{155}
\indexentry{cycle detection|hyperpage}{155}
\indexentry{Floyd's algorithm|hyperpage}{156}
\indexentry{strongly connected graph|hyperpage}{157}
\indexentry{strongly connected component|hyperpage}{157}
\indexentry{component graph|hyperpage}{157}
\indexentry{Kosaraju's algorithm|hyperpage}{158}
\indexentry{2SAT problem|hyperpage}{160}
\indexentry{3SAT problem|hyperpage}{162}
\indexentry{tree query|hyperpage}{163}
\indexentry{ancestor|hyperpage}{163}
\indexentry{tree traversal array|hyperpage}{164}
\indexentry{lowest common ancestor|hyperpage}{167}
\indexentry{Euler tour technique|hyperpage}{168}
\indexentry{Eulerian path|hyperpage}{173}
\indexentry{Eulerian circuit|hyperpage}{174}
\indexentry{Hierholzer's algorithm|hyperpage}{175}
\indexentry{Hamiltonian path|hyperpage}{177}
\indexentry{Hamiltonian circuit|hyperpage}{177}
\indexentry{Dirac's theorem|hyperpage}{177}
\indexentry{Ore's theorem|hyperpage}{177}
\indexentry{De Bruijn sequence|hyperpage}{178}
\indexentry{knight's tour|hyperpage}{179}
\indexentry{heuristic|hyperpage}{179}
\indexentry{Warnsdorf's rule|hyperpage}{179}
\indexentry{flow|hyperpage}{181}
\indexentry{maximum flow|hyperpage}{181}
\indexentry{cut|hyperpage}{182}
\indexentry{minimum cut|hyperpage}{182}
\indexentry{FordFulkerson algorithm|hyperpage}{182}
\indexentry{EdmondsKarp algorithm|hyperpage}{184}
\indexentry{scaling algorithm|hyperpage}{185}
\indexentry{minimum cut|hyperpage}{185}
\indexentry{matching|hyperpage}{187}
\indexentry{maximum matching|hyperpage}{187}
\indexentry{Hall's theorem|hyperpage}{189}
\indexentry{perfect matching|hyperpage}{189}
\indexentry{Kőnig's theorem|hyperpage}{189}
\indexentry{node cover|hyperpage}{189}
\indexentry{minimum node cover|hyperpage}{189}
\indexentry{independent set|hyperpage}{190}
\indexentry{maximum independent set|hyperpage}{190}
\indexentry{path cover|hyperpage}{190}
\indexentry{Dilworth's theorem|hyperpage}{193}
\indexentry{antichain|hyperpage}{193}
\indexentry{number theory|hyperpage}{197}
\indexentry{divisibility|hyperpage}{197}
\indexentry{factor|hyperpage}{197}
\indexentry{divisor|hyperpage}{197}
\indexentry{prime|hyperpage}{197}
\indexentry{prime decomposition|hyperpage}{197}
\indexentry{perfect number|hyperpage}{198}
\indexentry{Goldbach's conjecture|hyperpage}{199}
\indexentry{twin prime|hyperpage}{199}
\indexentry{Legendre's conjecture|hyperpage}{199}
\indexentry{sieve of Eratosthenes|hyperpage}{200}
\indexentry{harmonic sum|hyperpage}{200}
\indexentry{greatest common divisor|hyperpage}{200}
\indexentry{least common multiple|hyperpage}{200}
\indexentry{Euclid's algorithm|hyperpage}{200}
\indexentry{coprime|hyperpage}{201}
\indexentry{Euler's totient function|hyperpage}{201}
\indexentry{modular arithmetic|hyperpage}{201}
\indexentry{Fermat's theorem|hyperpage}{202}
\indexentry{Euler's theorem|hyperpage}{202}
\indexentry{modular inverse|hyperpage}{202}
\indexentry{Diophantine equation|hyperpage}{204}
\indexentry{extended Euclid's algorithm|hyperpage}{204}
\indexentry{Chinese remainder theorem|hyperpage}{205}
\indexentry{Lagrange's theorem|hyperpage}{205}
\indexentry{Zeckendorf's theorem|hyperpage}{206}
\indexentry{Fibonacci number|hyperpage}{206}
\indexentry{Pythagorean triple|hyperpage}{206}
\indexentry{Euclid's formula|hyperpage}{206}
\indexentry{Wilson's theorem|hyperpage}{206}
\indexentry{combinatorics|hyperpage}{207}
\indexentry{binomial coefficient|hyperpage}{208}
\indexentry{Pascal's triangle|hyperpage}{209}
\indexentry{multinomial coefficient|hyperpage}{210}
\indexentry{Catalan number|hyperpage}{210}
\indexentry{parenthesis expression|hyperpage}{211}
\indexentry{inclusion-exclusion|hyperpage}{212}
\indexentry{derangement|hyperpage}{213}
\indexentry{Burnside's lemma|hyperpage}{214}
\indexentry{Cayley's formula|hyperpage}{215}
\indexentry{Prüfer code|hyperpage}{216}
\indexentry{matrix|hyperpage}{217}
\indexentry{vector|hyperpage}{217}
\indexentry{transpose|hyperpage}{217}
\indexentry{square matrix|hyperpage}{217}
\indexentry{matrix multiplication|hyperpage}{218}
\indexentry{identity matrix|hyperpage}{218}
\indexentry{matrix power|hyperpage}{219}
\indexentry{determinant|hyperpage}{219}
\indexentry{cofactor|hyperpage}{219}
\indexentry{inverse matrix|hyperpage}{220}
\indexentry{linear recurrence|hyperpage}{220}
\indexentry{Fibonacci number|hyperpage}{220}
\indexentry{Kirchhoff's theorem|hyperpage}{223}
\indexentry{spanning tree|hyperpage}{223}
\indexentry{Laplacean matrix|hyperpage}{224}
\indexentry{probability|hyperpage}{225}
\indexentry{conditional probability|hyperpage}{227}
\indexentry{independence|hyperpage}{228}
\indexentry{random variable|hyperpage}{228}
\indexentry{expected value|hyperpage}{229}
\indexentry{distribution|hyperpage}{229}
\indexentry{uniform distribution|hyperpage}{230}
\indexentry{binomial distribution|hyperpage}{230}
\indexentry{geometric distribution|hyperpage}{230}
\indexentry{Markov chain|hyperpage}{230}
\indexentry{randomized algorithm|hyperpage}{231}
\indexentry{Monte Carlo algorithm|hyperpage}{231}
\indexentry{Las Vegas algorithm|hyperpage}{231}
\indexentry{order statistic|hyperpage}{232}
\indexentry{matrix multiplication|hyperpage}{232}
\indexentry{quicksort|hyperpage}{232}
\indexentry{quickselect|hyperpage}{232}
\indexentry{Freivalds' algoritm|hyperpage}{232}
\indexentry{coloring|hyperpage}{233}
\indexentry{winning state|hyperpage}{235}
\indexentry{losing state|hyperpage}{235}
\indexentry{nim game|hyperpage}{237}
\indexentry{nim sum|hyperpage}{237}
\indexentry{misère game|hyperpage}{238}
\indexentry{SpragueGrundy theorem|hyperpage}{238}
\indexentry{Grundy number|hyperpage}{238}
\indexentry{mex function|hyperpage}{238}
\indexentry{Grundy's game|hyperpage}{241}
\indexentry{pattern matching|hyperpage}{243}
\indexentry{string|hyperpage}{243}
\indexentry{alphabet|hyperpage}{243}
\indexentry{substring|hyperpage}{243}
\indexentry{subsequence|hyperpage}{243}
\indexentry{prefix|hyperpage}{243}
\indexentry{suffix|hyperpage}{243}
\indexentry{rotation|hyperpage}{243}
\indexentry{period|hyperpage}{243}
\indexentry{border|hyperpage}{244}
\indexentry{lexicographical order|hyperpage}{244}
\indexentry{trie|hyperpage}{244}
\indexentry{hashing|hyperpage}{245}
\indexentry{string hashing|hyperpage}{245}
\indexentry{hash value|hyperpage}{245}
\indexentry{polynomial hashing|hyperpage}{245}
\indexentry{collision|hyperpage}{246}
\indexentry{birthday paradox|hyperpage}{247}
\indexentry{Z-algorithm|hyperpage}{247}
\indexentry{Z-array|hyperpage}{247}
\indexentry{square root algorithm|hyperpage}{251}
\indexentry{Mo's algorithm|hyperpage}{255}
\indexentry{segment tree|hyperpage}{257}
\indexentry{lazy propagation|hyperpage}{258}
\indexentry{lazy segment tree|hyperpage}{258}
\indexentry{dynamic segment tree|hyperpage}{261}
\indexentry{sparse segment tree|hyperpage}{261}
\indexentry{persistent segment tree|hyperpage}{262}
\indexentry{two-dimensional segment tree|hyperpage}{264}
\indexentry{geometry|hyperpage}{265}
\indexentry{Heron's formula|hyperpage}{265}
\indexentry{complex number|hyperpage}{266}
\indexentry{point|hyperpage}{266}
\indexentry{vector|hyperpage}{266}
\indexentry{complex@\texttt{complex}|hyperpage}{266}
\indexentry{cross product|hyperpage}{268}
\indexentry{line segment intersection|hyperpage}{269}
\indexentry{shoelace formula|hyperpage}{271}
\indexentry{Pick's theorem|hyperpage}{272}
\indexentry{distance function|hyperpage}{272}
\indexentry{Euclidean distance|hyperpage}{272}
\indexentry{Manhattan distance|hyperpage}{272}
\indexentry{sweep line|hyperpage}{275}
\indexentry{intersection point|hyperpage}{276}
\indexentry{closest pair|hyperpage}{277}
\indexentry{Andrew's algorithm|hyperpage}{279}

View File

@ -1,6 +0,0 @@
This is makeindex, version 2.15 [TeX Live 2020] (kpathsea + Thai support).
Scanning input file output/book.idx....done (345 entries accepted, 0 rejected).
Sorting entries......done (3076 comparisons).
Generating output file output/book.ind....done (401 lines written, 0 warnings).
Output written in output/book.ind.
Transcript written in output/book.ilg.

View File

@ -1,401 +0,0 @@
\begin{theindex}
\item 2SAT problem, \hyperpage{160}
\item 2SUM problem, \hyperpage{78}
\item 3SAT problem, \hyperpage{162}
\item 3SUM problem, \hyperpage{79}
\indexspace
\item adjacency list, \hyperpage{113}
\item adjacency matrix, \hyperpage{114}
\item alphabet, \hyperpage{243}
\item amortized analysis, \hyperpage{77}
\item ancestor, \hyperpage{163}
\item and operation, \hyperpage{96}
\item Andrew's algorithm, \hyperpage{279}
\item antichain, \hyperpage{193}
\item arithmetic progression, \hyperpage{10}
\indexspace
\item backtracking, \hyperpage{50}
\item BellmanFord algorithm, \hyperpage{123}
\item binary code, \hyperpage{62}
\item binary indexed tree, \hyperpage{86}
\item binary search, \hyperpage{31}
\item binary tree, \hyperpage{139}
\item Binet's formula, \hyperpage{14}
\item binomial coefficient, \hyperpage{208}
\item binomial distribution, \hyperpage{230}
\item bipartite graph, \hyperpage{112}, \hyperpage{122}
\item birthday paradox, \hyperpage{247}
\item bit representation, \hyperpage{95}
\item bit shift, \hyperpage{97}
\item bitset, \hyperpage{41}
\item border, \hyperpage{244}
\item breadth-first search, \hyperpage{119}
\item bubble sort, \hyperpage{25}
\item Burnside's lemma, \hyperpage{214}
\indexspace
\item Catalan number, \hyperpage{210}
\item Cayley's formula, \hyperpage{215}
\item child, \hyperpage{133}
\item Chinese remainder theorem, \hyperpage{205}
\item closest pair, \hyperpage{277}
\item codeword, \hyperpage{62}
\item cofactor, \hyperpage{219}
\item collision, \hyperpage{246}
\item coloring, \hyperpage{112}, \hyperpage{233}
\item combinatorics, \hyperpage{207}
\item comparison function, \hyperpage{31}
\item comparison operator, \hyperpage{30}
\item complement, \hyperpage{12}
\item complete graph, \hyperpage{111}
\item \texttt{complex}, \hyperpage{266}
\item complex number, \hyperpage{266}
\item complexity classes, \hyperpage{20}
\item component, \hyperpage{110}
\item component graph, \hyperpage{157}
\item conditional probability, \hyperpage{227}
\item conjuction, \hyperpage{13}
\item connected graph, \hyperpage{110}, \hyperpage{121}
\item constant factor, \hyperpage{21}
\item constant-time algorithm, \hyperpage{20}
\item coprime, \hyperpage{201}
\item counting sort, \hyperpage{28}
\item cross product, \hyperpage{268}
\item cubic algorithm, \hyperpage{20}
\item cut, \hyperpage{182}
\item cycle, \hyperpage{109}, \hyperpage{121}, \hyperpage{149},
\hyperpage{155}
\item cycle detection, \hyperpage{155}
\indexspace
\item data compression, \hyperpage{62}
\item data structure, \hyperpage{35}
\item De Bruijn sequence, \hyperpage{178}
\item degree, \hyperpage{111}
\item depth-first search, \hyperpage{117}
\item deque, \hyperpage{42}
\item derangement, \hyperpage{213}
\item determinant, \hyperpage{219}
\item diameter, \hyperpage{135}
\item difference, \hyperpage{12}
\item difference array, \hyperpage{93}
\item Dijkstra's algorithm, \hyperpage{126}, \hyperpage{153}
\item Dilworth's theorem, \hyperpage{193}
\item Diophantine equation, \hyperpage{204}
\item Dirac's theorem, \hyperpage{177}
\item directed graph, \hyperpage{110}
\item disjunction, \hyperpage{13}
\item distance function, \hyperpage{272}
\item distribution, \hyperpage{229}
\item divisibility, \hyperpage{197}
\item divisor, \hyperpage{197}
\item dynamic array, \hyperpage{35}
\item dynamic programming, \hyperpage{65}
\item dynamic segment tree, \hyperpage{261}
\indexspace
\item edge, \hyperpage{109}
\item edge list, \hyperpage{115}
\item edit distance, \hyperpage{74}
\item EdmondsKarp algorithm, \hyperpage{184}
\item equivalence, \hyperpage{13}
\item Euclid's algorithm, \hyperpage{200}
\item Euclid's formula, \hyperpage{206}
\item Euclidean distance, \hyperpage{272}
\item Euler tour technique, \hyperpage{168}
\item Euler's theorem, \hyperpage{202}
\item Euler's totient function, \hyperpage{201}
\item Eulerian circuit, \hyperpage{174}
\item Eulerian path, \hyperpage{173}
\item expected value, \hyperpage{229}
\item extended Euclid's algorithm, \hyperpage{204}
\indexspace
\item factor, \hyperpage{197}
\item factorial, \hyperpage{14}
\item Faulhaber's formula, \hyperpage{10}
\item Fenwick tree, \hyperpage{86}
\item Fermat's theorem, \hyperpage{202}
\item Fibonacci number, \hyperpage{14}, \hyperpage{206},
\hyperpage{220}
\item floating point number, \hyperpage{7}
\item flow, \hyperpage{181}
\item Floyd's algorithm, \hyperpage{156}
\item FloydWarshall algorithm, \hyperpage{129}
\item FordFulkerson algorithm, \hyperpage{182}
\item Freivalds' algoritm, \hyperpage{232}
\item functional graph, \hyperpage{154}
\indexspace
\item geometric distribution, \hyperpage{230}
\item geometric progression, \hyperpage{11}
\item geometry, \hyperpage{265}
\item Goldbach's conjecture, \hyperpage{199}
\item graph, \hyperpage{109}
\item greatest common divisor, \hyperpage{200}
\item greedy algorithm, \hyperpage{57}
\item Grundy number, \hyperpage{238}
\item Grundy's game, \hyperpage{241}
\indexspace
\item Hall's theorem, \hyperpage{189}
\item Hamiltonian circuit, \hyperpage{177}
\item Hamiltonian path, \hyperpage{177}
\item Hamming distance, \hyperpage{100}
\item harmonic sum, \hyperpage{11}, \hyperpage{200}
\item hash value, \hyperpage{245}
\item hashing, \hyperpage{245}
\item heap, \hyperpage{43}
\item Heron's formula, \hyperpage{265}
\item heuristic, \hyperpage{179}
\item Hierholzer's algorithm, \hyperpage{175}
\item Huffman coding, \hyperpage{63}
\indexspace
\item identity matrix, \hyperpage{218}
\item implication, \hyperpage{13}
\item in-order, \hyperpage{139}
\item inclusion-exclusion, \hyperpage{212}
\item indegree, \hyperpage{111}
\item independence, \hyperpage{228}
\item independent set, \hyperpage{190}
\item index compression, \hyperpage{93}
\item input and output, \hyperpage{4}
\item integer, \hyperpage{6}
\item intersection, \hyperpage{12}
\item intersection point, \hyperpage{276}
\item inverse matrix, \hyperpage{220}
\item inversion, \hyperpage{26}
\item iterator, \hyperpage{39}
\indexspace
\item Kadane's algorithm, \hyperpage{23}
\item Kirchhoff's theorem, \hyperpage{223}
\item knapsack, \hyperpage{72}
\item knight's tour, \hyperpage{179}
\item Kosaraju's algorithm, \hyperpage{158}
\item Kruskal's algorithm, \hyperpage{142}
\item Kőnig's theorem, \hyperpage{189}
\indexspace
\item Lagrange's theorem, \hyperpage{205}
\item Laplacean matrix, \hyperpage{224}
\item Las Vegas algorithm, \hyperpage{231}
\item lazy propagation, \hyperpage{258}
\item lazy segment tree, \hyperpage{258}
\item leaf, \hyperpage{133}
\item least common multiple, \hyperpage{200}
\item Legendre's conjecture, \hyperpage{199}
\item Levenshtein distance, \hyperpage{74}
\item lexicographical order, \hyperpage{244}
\item line segment intersection, \hyperpage{269}
\item linear algorithm, \hyperpage{20}
\item linear recurrence, \hyperpage{220}
\item logarithm, \hyperpage{14}
\item logarithmic algorithm, \hyperpage{20}
\item logic, \hyperpage{13}
\item longest increasing subsequence, \hyperpage{70}
\item losing state, \hyperpage{235}
\item lowest common ancestor, \hyperpage{167}
\indexspace
\item macro, \hyperpage{9}
\item Manhattan distance, \hyperpage{272}
\item map, \hyperpage{38}
\item Markov chain, \hyperpage{230}
\item matching, \hyperpage{187}
\item matrix, \hyperpage{217}
\item matrix multiplication, \hyperpage{218}, \hyperpage{232}
\item matrix power, \hyperpage{219}
\item maximum flow, \hyperpage{181}
\item maximum independent set, \hyperpage{190}
\item maximum matching, \hyperpage{187}
\item maximum query, \hyperpage{83}
\item maximum spanning tree, \hyperpage{142}
\item maximum subarray sum, \hyperpage{21}
\item meet in the middle, \hyperpage{54}
\item memoization, \hyperpage{67}
\item merge sort, \hyperpage{27}
\item mex function, \hyperpage{238}
\item minimum cut, \hyperpage{182}, \hyperpage{185}
\item minimum node cover, \hyperpage{189}
\item minimum query, \hyperpage{83}
\item minimum spanning tree, \hyperpage{141}
\item misère game, \hyperpage{238}
\item Mo's algorithm, \hyperpage{255}
\item modular arithmetic, \hyperpage{6}, \hyperpage{201}
\item modular inverse, \hyperpage{202}
\item Monte Carlo algorithm, \hyperpage{231}
\item multinomial coefficient, \hyperpage{210}
\indexspace
\item natural logarithm, \hyperpage{15}
\item nearest smaller elements, \hyperpage{79}
\item negation, \hyperpage{13}
\item negative cycle, \hyperpage{125}
\item neighbor, \hyperpage{111}
\item \texttt{next\_permutation}, \hyperpage{49}
\item nim game, \hyperpage{237}
\item nim sum, \hyperpage{237}
\item node, \hyperpage{109}
\item node cover, \hyperpage{189}
\item not operation, \hyperpage{97}
\item NP-hard problem, \hyperpage{20}
\item number theory, \hyperpage{197}
\indexspace
\item or operation, \hyperpage{96}
\item order statistic, \hyperpage{232}
\item Ore's theorem, \hyperpage{177}
\item outdegree, \hyperpage{111}
\indexspace
\item \texttt{pair}, \hyperpage{30}
\item parent, \hyperpage{133}
\item parenthesis expression, \hyperpage{211}
\item Pascal's triangle, \hyperpage{209}
\item path, \hyperpage{109}
\item path cover, \hyperpage{190}
\item pattern matching, \hyperpage{243}
\item perfect matching, \hyperpage{189}
\item perfect number, \hyperpage{198}
\item period, \hyperpage{243}
\item permutation, \hyperpage{49}
\item persistent segment tree, \hyperpage{262}
\item Pick's theorem, \hyperpage{272}
\item point, \hyperpage{266}
\item polynomial algorithm, \hyperpage{20}
\item polynomial hashing, \hyperpage{245}
\item post-order, \hyperpage{139}
\item pre-order, \hyperpage{139}
\item predicate, \hyperpage{13}
\item prefix, \hyperpage{243}
\item prefix sum array, \hyperpage{84}
\item Prim's algorithm, \hyperpage{147}
\item prime, \hyperpage{197}
\item prime decomposition, \hyperpage{197}
\item priority queue, \hyperpage{43}
\item probability, \hyperpage{225}
\item programming language, \hyperpage{3}
\item Prüfer code, \hyperpage{216}
\item Pythagorean triple, \hyperpage{206}
\indexspace
\item quadratic algorithm, \hyperpage{20}
\item quantifier, \hyperpage{13}
\item queen problem, \hyperpage{50}
\item queue, \hyperpage{43}
\item quickselect, \hyperpage{232}
\item quicksort, \hyperpage{232}
\indexspace
\item random variable, \hyperpage{228}
\item \texttt{random\_shuffle}, \hyperpage{39}
\item randomized algorithm, \hyperpage{231}
\item range query, \hyperpage{83}
\item regular graph, \hyperpage{111}
\item remainder, \hyperpage{6}
\item \texttt{reverse}, \hyperpage{39}
\item root, \hyperpage{133}
\item rooted tree, \hyperpage{133}
\item rotation, \hyperpage{243}
\indexspace
\item scaling algorithm, \hyperpage{185}
\item segment tree, \hyperpage{89}, \hyperpage{257}
\item set, \hyperpage{12}, \hyperpage{37}
\item set theory, \hyperpage{12}
\item shoelace formula, \hyperpage{271}
\item shortest path, \hyperpage{123}
\item sieve of Eratosthenes, \hyperpage{200}
\item simple graph, \hyperpage{112}
\item sliding window, \hyperpage{81}
\item sliding window minimum, \hyperpage{81}
\item \texttt{sort}, \hyperpage{29}, \hyperpage{39}
\item sorting, \hyperpage{25}
\item spanning tree, \hyperpage{141}, \hyperpage{223}
\item sparse segment tree, \hyperpage{261}
\item sparse table, \hyperpage{85}
\item SPFA algorithm, \hyperpage{126}
\item SpragueGrundy theorem, \hyperpage{238}
\item square matrix, \hyperpage{217}
\item square root algorithm, \hyperpage{251}
\item stack, \hyperpage{42}
\item string, \hyperpage{36}, \hyperpage{243}
\item string hashing, \hyperpage{245}
\item strongly connected component, \hyperpage{157}
\item strongly connected graph, \hyperpage{157}
\item subsequence, \hyperpage{243}
\item subset, \hyperpage{12}, \hyperpage{47}
\item substring, \hyperpage{243}
\item subtree, \hyperpage{133}
\item successor graph, \hyperpage{154}
\item suffix, \hyperpage{243}
\item sum query, \hyperpage{83}
\item sweep line, \hyperpage{275}
\indexspace
\item time complexity, \hyperpage{17}
\item topological sorting, \hyperpage{149}
\item transpose, \hyperpage{217}
\item tree, \hyperpage{110}, \hyperpage{133}
\item tree query, \hyperpage{163}
\item tree traversal array, \hyperpage{164}
\item trie, \hyperpage{244}
\item \texttt{tuple}, \hyperpage{30}
\item \texttt{typedef}, \hyperpage{8}
\item twin prime, \hyperpage{199}
\item two pointers method, \hyperpage{77}
\item two-dimensional segment tree, \hyperpage{264}
\indexspace
\item uniform distribution, \hyperpage{230}
\item union, \hyperpage{12}
\item union-find structure, \hyperpage{145}
\item universal set, \hyperpage{12}
\indexspace
\item vector, \hyperpage{35}, \hyperpage{217}, \hyperpage{266}
\indexspace
\item Warnsdorf's rule, \hyperpage{179}
\item weighted graph, \hyperpage{111}
\item Wilson's theorem, \hyperpage{206}
\item winning state, \hyperpage{235}
\indexspace
\item xor operation, \hyperpage{97}
\indexspace
\item Z-algorithm, \hyperpage{247}
\item Z-array, \hyperpage{247}
\item Zeckendorf's theorem, \hyperpage{206}
\end{theindex}

File diff suppressed because it is too large Load Diff

View File

@ -1,154 +0,0 @@
\BOOKMARK [0][-]{chapter*.2}{Preface}{}% 1
\BOOKMARK [-1][-]{part.1}{I Basic techniques}{}% 2
\BOOKMARK [0][-]{chapter.1}{Introduction}{part.1}% 3
\BOOKMARK [1][-]{section.1.1}{Programming languages}{chapter.1}% 4
\BOOKMARK [1][-]{section.1.2}{Input and output}{chapter.1}% 5
\BOOKMARK [1][-]{section.1.3}{Working with numbers}{chapter.1}% 6
\BOOKMARK [1][-]{section.1.4}{Shortening code}{chapter.1}% 7
\BOOKMARK [1][-]{section.1.5}{Mathematics}{chapter.1}% 8
\BOOKMARK [1][-]{section.1.6}{Contests and resources}{chapter.1}% 9
\BOOKMARK [0][-]{chapter.2}{Time complexity}{part.1}% 10
\BOOKMARK [1][-]{section.2.1}{Calculation rules}{chapter.2}% 11
\BOOKMARK [1][-]{section.2.2}{Complexity classes}{chapter.2}% 12
\BOOKMARK [1][-]{section.2.3}{Estimating efficiency}{chapter.2}% 13
\BOOKMARK [1][-]{section.2.4}{Maximum subarray sum}{chapter.2}% 14
\BOOKMARK [0][-]{chapter.3}{Sorting}{part.1}% 15
\BOOKMARK [1][-]{section.3.1}{Sorting theory}{chapter.3}% 16
\BOOKMARK [1][-]{section.3.2}{Sorting in C++}{chapter.3}% 17
\BOOKMARK [1][-]{section.3.3}{Binary search}{chapter.3}% 18
\BOOKMARK [0][-]{chapter.4}{Data structures}{part.1}% 19
\BOOKMARK [1][-]{section.4.1}{Dynamic arrays}{chapter.4}% 20
\BOOKMARK [1][-]{section.4.2}{Set structures}{chapter.4}% 21
\BOOKMARK [1][-]{section.4.3}{Map structures}{chapter.4}% 22
\BOOKMARK [1][-]{section.4.4}{Iterators and ranges}{chapter.4}% 23
\BOOKMARK [1][-]{section.4.5}{Other structures}{chapter.4}% 24
\BOOKMARK [1][-]{section.4.6}{Comparison to sorting}{chapter.4}% 25
\BOOKMARK [0][-]{chapter.5}{Complete search}{part.1}% 26
\BOOKMARK [1][-]{section.5.1}{Generating subsets}{chapter.5}% 27
\BOOKMARK [1][-]{section.5.2}{Generating permutations}{chapter.5}% 28
\BOOKMARK [1][-]{section.5.3}{Backtracking}{chapter.5}% 29
\BOOKMARK [1][-]{section.5.4}{Pruning the search}{chapter.5}% 30
\BOOKMARK [1][-]{section.5.5}{Meet in the middle}{chapter.5}% 31
\BOOKMARK [0][-]{chapter.6}{Greedy algorithms}{part.1}% 32
\BOOKMARK [1][-]{section.6.1}{Coin problem}{chapter.6}% 33
\BOOKMARK [1][-]{section.6.2}{Scheduling}{chapter.6}% 34
\BOOKMARK [1][-]{section.6.3}{Tasks and deadlines}{chapter.6}% 35
\BOOKMARK [1][-]{section.6.4}{Minimizing sums}{chapter.6}% 36
\BOOKMARK [1][-]{section.6.5}{Data compression}{chapter.6}% 37
\BOOKMARK [0][-]{chapter.7}{Dynamic programming}{part.1}% 38
\BOOKMARK [1][-]{section.7.1}{Coin problem}{chapter.7}% 39
\BOOKMARK [1][-]{section.7.2}{Longest increasing subsequence}{chapter.7}% 40
\BOOKMARK [1][-]{section.7.3}{Paths in a grid}{chapter.7}% 41
\BOOKMARK [1][-]{section.7.4}{Knapsack problems}{chapter.7}% 42
\BOOKMARK [1][-]{section.7.5}{Edit distance}{chapter.7}% 43
\BOOKMARK [1][-]{section.7.6}{Counting tilings}{chapter.7}% 44
\BOOKMARK [0][-]{chapter.8}{Amortized analysis}{part.1}% 45
\BOOKMARK [1][-]{section.8.1}{Two pointers method}{chapter.8}% 46
\BOOKMARK [1][-]{section.8.2}{Nearest smaller elements}{chapter.8}% 47
\BOOKMARK [1][-]{section.8.3}{Sliding window minimum}{chapter.8}% 48
\BOOKMARK [0][-]{chapter.9}{Range queries}{part.1}% 49
\BOOKMARK [1][-]{section.9.1}{Static array queries}{chapter.9}% 50
\BOOKMARK [1][-]{section.9.2}{Binary indexed tree}{chapter.9}% 51
\BOOKMARK [1][-]{section.9.3}{Segment tree}{chapter.9}% 52
\BOOKMARK [1][-]{section.9.4}{Additional techniques}{chapter.9}% 53
\BOOKMARK [0][-]{chapter.10}{Bit manipulation}{part.1}% 54
\BOOKMARK [1][-]{section.10.1}{Bit representation}{chapter.10}% 55
\BOOKMARK [1][-]{section.10.2}{Bit operations}{chapter.10}% 56
\BOOKMARK [1][-]{section.10.3}{Representing sets}{chapter.10}% 57
\BOOKMARK [1][-]{section.10.4}{Bit optimizations}{chapter.10}% 58
\BOOKMARK [1][-]{section.10.5}{Dynamic programming}{chapter.10}% 59
\BOOKMARK [-1][-]{part.2}{II Graph algorithms}{}% 60
\BOOKMARK [0][-]{chapter.11}{Basics of graphs}{part.2}% 61
\BOOKMARK [1][-]{section.11.1}{Graph terminology}{chapter.11}% 62
\BOOKMARK [1][-]{section.11.2}{Graph representation}{chapter.11}% 63
\BOOKMARK [0][-]{chapter.12}{Graph traversal}{part.2}% 64
\BOOKMARK [1][-]{section.12.1}{Depth-first search}{chapter.12}% 65
\BOOKMARK [1][-]{section.12.2}{Breadth-first search}{chapter.12}% 66
\BOOKMARK [1][-]{section.12.3}{Applications}{chapter.12}% 67
\BOOKMARK [0][-]{chapter.13}{Shortest paths}{part.2}% 68
\BOOKMARK [1][-]{section.13.1}{Bellman\205Ford algorithm}{chapter.13}% 69
\BOOKMARK [1][-]{section.13.2}{Dijkstra's algorithm}{chapter.13}% 70
\BOOKMARK [1][-]{section.13.3}{Floyd\205Warshall algorithm}{chapter.13}% 71
\BOOKMARK [0][-]{chapter.14}{Tree algorithms}{part.2}% 72
\BOOKMARK [1][-]{section.14.1}{Tree traversal}{chapter.14}% 73
\BOOKMARK [1][-]{section.14.2}{Diameter}{chapter.14}% 74
\BOOKMARK [1][-]{section.14.3}{All longest paths}{chapter.14}% 75
\BOOKMARK [1][-]{section.14.4}{Binary trees}{chapter.14}% 76
\BOOKMARK [0][-]{chapter.15}{Spanning trees}{part.2}% 77
\BOOKMARK [1][-]{section.15.1}{Kruskal's algorithm}{chapter.15}% 78
\BOOKMARK [1][-]{section.15.2}{Union-find structure}{chapter.15}% 79
\BOOKMARK [1][-]{section.15.3}{Prim's algorithm}{chapter.15}% 80
\BOOKMARK [0][-]{chapter.16}{Directed graphs}{part.2}% 81
\BOOKMARK [1][-]{section.16.1}{Topological sorting}{chapter.16}% 82
\BOOKMARK [1][-]{section.16.2}{Dynamic programming}{chapter.16}% 83
\BOOKMARK [1][-]{section.16.3}{Successor paths}{chapter.16}% 84
\BOOKMARK [1][-]{section.16.4}{Cycle detection}{chapter.16}% 85
\BOOKMARK [0][-]{chapter.17}{Strong connectivity}{part.2}% 86
\BOOKMARK [1][-]{section.17.1}{Kosaraju's algorithm}{chapter.17}% 87
\BOOKMARK [1][-]{section.17.2}{2SAT problem}{chapter.17}% 88
\BOOKMARK [0][-]{chapter.18}{Tree queries}{part.2}% 89
\BOOKMARK [1][-]{section.18.1}{Finding ancestors}{chapter.18}% 90
\BOOKMARK [1][-]{section.18.2}{Subtrees and paths}{chapter.18}% 91
\BOOKMARK [1][-]{section.18.3}{Lowest common ancestor}{chapter.18}% 92
\BOOKMARK [1][-]{section.18.4}{Offline algorithms}{chapter.18}% 93
\BOOKMARK [0][-]{chapter.19}{Paths and circuits}{part.2}% 94
\BOOKMARK [1][-]{section.19.1}{Eulerian paths}{chapter.19}% 95
\BOOKMARK [1][-]{section.19.2}{Hamiltonian paths}{chapter.19}% 96
\BOOKMARK [1][-]{section.19.3}{De Bruijn sequences}{chapter.19}% 97
\BOOKMARK [1][-]{section.19.4}{Knight's tours}{chapter.19}% 98
\BOOKMARK [0][-]{chapter.20}{Flows and cuts}{part.2}% 99
\BOOKMARK [1][-]{section.20.1}{Ford\205Fulkerson algorithm}{chapter.20}% 100
\BOOKMARK [1][-]{section.20.2}{Disjoint paths}{chapter.20}% 101
\BOOKMARK [1][-]{section.20.3}{Maximum matchings}{chapter.20}% 102
\BOOKMARK [1][-]{section.20.4}{Path covers}{chapter.20}% 103
\BOOKMARK [-1][-]{part.3}{III Advanced topics}{}% 104
\BOOKMARK [0][-]{chapter.21}{Number theory}{part.3}% 105
\BOOKMARK [1][-]{section.21.1}{Primes and factors}{chapter.21}% 106
\BOOKMARK [1][-]{section.21.2}{Modular arithmetic}{chapter.21}% 107
\BOOKMARK [1][-]{section.21.3}{Solving equations}{chapter.21}% 108
\BOOKMARK [1][-]{section.21.4}{Other results}{chapter.21}% 109
\BOOKMARK [0][-]{chapter.22}{Combinatorics}{part.3}% 110
\BOOKMARK [1][-]{section.22.1}{Binomial coefficients}{chapter.22}% 111
\BOOKMARK [1][-]{section.22.2}{Catalan numbers}{chapter.22}% 112
\BOOKMARK [1][-]{section.22.3}{Inclusion-exclusion}{chapter.22}% 113
\BOOKMARK [1][-]{section.22.4}{Burnside's lemma}{chapter.22}% 114
\BOOKMARK [1][-]{section.22.5}{Cayley's formula}{chapter.22}% 115
\BOOKMARK [0][-]{chapter.23}{Matrices}{part.3}% 116
\BOOKMARK [1][-]{section.23.1}{Operations}{chapter.23}% 117
\BOOKMARK [1][-]{section.23.2}{Linear recurrences}{chapter.23}% 118
\BOOKMARK [1][-]{section.23.3}{Graphs and matrices}{chapter.23}% 119
\BOOKMARK [0][-]{chapter.24}{Probability}{part.3}% 120
\BOOKMARK [1][-]{section.24.1}{Calculation}{chapter.24}% 121
\BOOKMARK [1][-]{section.24.2}{Events}{chapter.24}% 122
\BOOKMARK [1][-]{section.24.3}{Random variables}{chapter.24}% 123
\BOOKMARK [1][-]{section.24.4}{Markov chains}{chapter.24}% 124
\BOOKMARK [1][-]{section.24.5}{Randomized algorithms}{chapter.24}% 125
\BOOKMARK [0][-]{chapter.25}{Game theory}{part.3}% 126
\BOOKMARK [1][-]{section.25.1}{Game states}{chapter.25}% 127
\BOOKMARK [1][-]{section.25.2}{Nim game}{chapter.25}% 128
\BOOKMARK [1][-]{section.25.3}{Sprague\205Grundy theorem}{chapter.25}% 129
\BOOKMARK [0][-]{chapter.26}{String algorithms}{part.3}% 130
\BOOKMARK [1][-]{section.26.1}{String terminology}{chapter.26}% 131
\BOOKMARK [1][-]{section.26.2}{Trie structure}{chapter.26}% 132
\BOOKMARK [1][-]{section.26.3}{String hashing}{chapter.26}% 133
\BOOKMARK [1][-]{section.26.4}{Z-algorithm}{chapter.26}% 134
\BOOKMARK [0][-]{chapter.27}{Square root algorithms}{part.3}% 135
\BOOKMARK [1][-]{section.27.1}{Combining algorithms}{chapter.27}% 136
\BOOKMARK [1][-]{section.27.2}{Integer partitions}{chapter.27}% 137
\BOOKMARK [1][-]{section.27.3}{Mo's algorithm}{chapter.27}% 138
\BOOKMARK [0][-]{chapter.28}{Segment trees revisited}{part.3}% 139
\BOOKMARK [1][-]{section.28.1}{Lazy propagation}{chapter.28}% 140
\BOOKMARK [1][-]{section.28.2}{Dynamic trees}{chapter.28}% 141
\BOOKMARK [1][-]{section.28.3}{Data structures}{chapter.28}% 142
\BOOKMARK [1][-]{section.28.4}{Two-dimensionality}{chapter.28}% 143
\BOOKMARK [0][-]{chapter.29}{Geometry}{part.3}% 144
\BOOKMARK [1][-]{section.29.1}{Complex numbers}{chapter.29}% 145
\BOOKMARK [1][-]{section.29.2}{Points and lines}{chapter.29}% 146
\BOOKMARK [1][-]{section.29.3}{Polygon area}{chapter.29}% 147
\BOOKMARK [1][-]{section.29.4}{Distance functions}{chapter.29}% 148
\BOOKMARK [0][-]{chapter.30}{Sweep line algorithms}{part.3}% 149
\BOOKMARK [1][-]{section.30.1}{Intersection points}{chapter.30}% 150
\BOOKMARK [1][-]{section.30.2}{Closest pair problem}{chapter.30}% 151
\BOOKMARK [1][-]{section.30.3}{Convex hull problem}{chapter.30}% 152
\BOOKMARK [0][-]{section*.3}{Bibliography}{part.3}% 153
\BOOKMARK [0][-]{chapter*.5}{Index}{part.3}% 154

Binary file not shown.

View File

@ -1,375 +0,0 @@
\babel@toc {english}{}
\contentsline {chapter}{Preface}{ix}{chapter*.2}%
\contentsline {part}{I\hspace {1em}Basic techniques}{1}{part.1}%
\contentsline {chapter}{\numberline {1}Introduction}{3}{chapter.1}%
\contentsline {section}{\numberline {1.1}Programming languages}{3}{section.1.1}%
\contentsline {subsubsection}{C++ code template}{4}{section.1.1}%
\contentsline {section}{\numberline {1.2}Input and output}{4}{section.1.2}%
\contentsline {section}{\numberline {1.3}Working with numbers}{6}{section.1.3}%
\contentsline {subsubsection}{Integers}{6}{section.1.3}%
\contentsline {subsubsection}{Modular arithmetic}{6}{lstnumber.-14.3}%
\contentsline {subsubsection}{Floating point numbers}{7}{lstnumber.-16.2}%
\contentsline {section}{\numberline {1.4}Shortening code}{8}{section.1.4}%
\contentsline {subsubsection}{Type names}{8}{section.1.4}%
\contentsline {subsubsection}{Macros}{9}{lstnumber.-23.2}%
\contentsline {section}{\numberline {1.5}Mathematics}{10}{section.1.5}%
\contentsline {subsubsection}{Sum formulas}{10}{section.1.5}%
\contentsline {subsubsection}{Set theory}{12}{section.1.5}%
\contentsline {subsubsection}{Logic}{13}{section.1.5}%
\contentsline {subsubsection}{Functions}{13}{section.1.5}%
\contentsline {subsubsection}{Logarithms}{14}{section.1.5}%
\contentsline {section}{\numberline {1.6}Contests and resources}{15}{section.1.6}%
\contentsline {subsubsection}{IOI}{15}{section.1.6}%
\contentsline {subsubsection}{ICPC}{15}{section.1.6}%
\contentsline {subsubsection}{Online contests}{16}{section.1.6}%
\contentsline {subsubsection}{Books}{16}{section.1.6}%
\contentsline {chapter}{\numberline {2}Time complexity}{17}{chapter.2}%
\contentsline {section}{\numberline {2.1}Calculation rules}{17}{section.2.1}%
\contentsline {section}{\numberline {2.2}Complexity classes}{20}{section.2.2}%
\contentsline {section}{\numberline {2.3}Estimating efficiency}{21}{section.2.3}%
\contentsline {section}{\numberline {2.4}Maximum subarray sum}{21}{section.2.4}%
\contentsline {subsubsection}{Algorithm 1}{22}{section.2.4}%
\contentsline {subsubsection}{Algorithm 2}{22}{lstnumber.-46.11}%
\contentsline {subsubsection}{Algorithm 3}{23}{lstnumber.-47.9}%
\contentsline {subsubsection}{Efficiency comparison}{23}{lstnumber.-48.6}%
\contentsline {chapter}{\numberline {3}Sorting}{25}{chapter.3}%
\contentsline {section}{\numberline {3.1}Sorting theory}{25}{section.3.1}%
\contentsline {subsubsection}{$O(n^2)$ algorithms}{25}{section.3.1}%
\contentsline {subsubsection}{Inversions}{26}{lstnumber.-49.7}%
\contentsline {subsubsection}{$O(n \qopname \relax o{log}n)$ algorithms}{27}{lstnumber.-49.7}%
\contentsline {subsubsection}{Sorting lower bound}{28}{Item.7}%
\contentsline {subsubsection}{Counting sort}{28}{Item.7}%
\contentsline {section}{\numberline {3.2}Sorting in C++}{29}{section.3.2}%
\contentsline {subsubsection}{Comparison operators}{30}{lstnumber.-53.2}%
\contentsline {subsubsection}{User-defined structs}{30}{lstnumber.-55.5}%
\contentsline {subsubsection}{Comparison functions}{31}{lstnumber.-56.7}%
\contentsline {section}{\numberline {3.3}Binary search}{31}{section.3.3}%
\contentsline {subsubsection}{Method 1}{32}{lstnumber.-59.5}%
\contentsline {subsubsection}{Method 2}{32}{lstnumber.-60.9}%
\contentsline {subsubsection}{C++ functions}{33}{lstnumber.-61.7}%
\contentsline {subsubsection}{Finding the smallest solution}{33}{lstnumber.-64.2}%
\contentsline {subsubsection}{Finding the maximum value}{34}{lstnumber.-65.5}%
\contentsline {chapter}{\numberline {4}Data structures}{35}{chapter.4}%
\contentsline {section}{\numberline {4.1}Dynamic arrays}{35}{section.4.1}%
\contentsline {section}{\numberline {4.2}Set structures}{37}{section.4.2}%
\contentsline {section}{\numberline {4.3}Map structures}{38}{section.4.3}%
\contentsline {section}{\numberline {4.4}Iterators and ranges}{39}{section.4.4}%
\contentsline {subsubsection}{Working with ranges}{39}{section.4.4}%
\contentsline {subsubsection}{Set iterators}{40}{lstnumber.-87.3}%
\contentsline {section}{\numberline {4.5}Other structures}{41}{section.4.5}%
\contentsline {subsubsection}{Bitset}{41}{section.4.5}%
\contentsline {subsubsection}{Deque}{42}{lstnumber.-98.5}%
\contentsline {subsubsection}{Stack}{42}{lstnumber.-99.6}%
\contentsline {subsubsection}{Queue}{43}{lstnumber.-100.7}%
\contentsline {subsubsection}{Priority queue}{43}{lstnumber.-101.7}%
\contentsline {subsubsection}{Policy-based data structures}{44}{lstnumber.-103.1}%
\contentsline {section}{\numberline {4.6}Comparison to sorting}{44}{section.4.6}%
\contentsline {subsubsection}{Algorithm 1}{45}{section.4.6}%
\contentsline {subsubsection}{Algorithm 2}{45}{section.4.6}%
\contentsline {subsubsection}{Algorithm 3}{45}{section.4.6}%
\contentsline {subsubsection}{Efficiency comparison}{45}{section.4.6}%
\contentsline {chapter}{\numberline {5}Complete search}{47}{chapter.5}%
\contentsline {section}{\numberline {5.1}Generating subsets}{47}{section.5.1}%
\contentsline {subsubsection}{Method 1}{47}{section.5.1}%
\contentsline {subsubsection}{Method 2}{48}{lstnumber.-110.10}%
\contentsline {section}{\numberline {5.2}Generating permutations}{49}{section.5.2}%
\contentsline {subsubsection}{Method 1}{49}{section.5.2}%
\contentsline {subsubsection}{Method 2}{49}{lstnumber.-113.14}%
\contentsline {section}{\numberline {5.3}Backtracking}{50}{section.5.3}%
\contentsline {section}{\numberline {5.4}Pruning the search}{51}{section.5.4}%
\contentsline {subsubsection}{Basic algorithm}{52}{section.5.4}%
\contentsline {subsubsection}{Optimization 1}{52}{section.5.4}%
\contentsline {subsubsection}{Optimization 2}{53}{section.5.4}%
\contentsline {subsubsection}{Optimization 3}{53}{section.5.4}%
\contentsline {subsubsection}{Optimization 4}{53}{section.5.4}%
\contentsline {section}{\numberline {5.5}Meet in the middle}{54}{section.5.5}%
\contentsline {chapter}{\numberline {6}Greedy algorithms}{57}{chapter.6}%
\contentsline {section}{\numberline {6.1}Coin problem}{57}{section.6.1}%
\contentsline {subsubsection}{Greedy algorithm}{57}{section.6.1}%
\contentsline {subsubsection}{General case}{58}{section.6.1}%
\contentsline {section}{\numberline {6.2}Scheduling}{58}{section.6.2}%
\contentsline {section}{\numberline {6.3}Tasks and deadlines}{60}{section.6.3}%
\contentsline {section}{\numberline {6.4}Minimizing sums}{61}{section.6.4}%
\contentsline {subsubsection}{Case $c=1$}{61}{section.6.4}%
\contentsline {subsubsection}{Case $c=2$}{61}{section.6.4}%
\contentsline {section}{\numberline {6.5}Data compression}{62}{section.6.5}%
\contentsline {subsubsection}{Huffman coding}{63}{section.6.5}%
\contentsline {chapter}{\numberline {7}Dynamic programming}{65}{chapter.7}%
\contentsline {section}{\numberline {7.1}Coin problem}{65}{section.7.1}%
\contentsline {subsubsection}{Recursive formulation}{66}{section.7.1}%
\contentsline {subsubsection}{Using memoization}{67}{lstnumber.-116.9}%
\contentsline {subsubsection}{Constructing a solution}{68}{lstnumber.-119.9}%
\contentsline {subsubsection}{Counting the number of solutions}{69}{lstnumber.-122.4}%
\contentsline {section}{\numberline {7.2}Longest increasing subsequence}{70}{section.7.2}%
\contentsline {section}{\numberline {7.3}Paths in a grid}{71}{section.7.3}%
\contentsline {section}{\numberline {7.4}Knapsack problems}{72}{section.7.4}%
\contentsline {section}{\numberline {7.5}Edit distance}{74}{section.7.5}%
\contentsline {section}{\numberline {7.6}Counting tilings}{75}{section.7.6}%
\contentsline {chapter}{\numberline {8}Amortized analysis}{77}{chapter.8}%
\contentsline {section}{\numberline {8.1}Two pointers method}{77}{section.8.1}%
\contentsline {subsubsection}{Subarray sum}{77}{section.8.1}%
\contentsline {subsubsection}{2SUM problem}{78}{section.8.1}%
\contentsline {section}{\numberline {8.2}Nearest smaller elements}{79}{section.8.2}%
\contentsline {section}{\numberline {8.3}Sliding window minimum}{81}{section.8.3}%
\contentsline {chapter}{\numberline {9}Range queries}{83}{chapter.9}%
\contentsline {section}{\numberline {9.1}Static array queries}{84}{section.9.1}%
\contentsline {subsubsection}{Sum queries}{84}{section.9.1}%
\contentsline {subsubsection}{Minimum queries}{85}{section.9.1}%
\contentsline {section}{\numberline {9.2}Binary indexed tree}{86}{section.9.2}%
\contentsline {subsubsection}{Structure}{86}{section.9.2}%
\contentsline {subsubsection}{Implementation}{88}{section.9.2}%
\contentsline {section}{\numberline {9.3}Segment tree}{89}{section.9.3}%
\contentsline {subsubsection}{Structure}{89}{section.9.3}%
\contentsline {subsubsection}{Implementation}{90}{section.9.3}%
\contentsline {subsubsection}{Other queries}{92}{lstnumber.-135.7}%
\contentsline {section}{\numberline {9.4}Additional techniques}{93}{section.9.4}%
\contentsline {subsubsection}{Index compression}{93}{section.9.4}%
\contentsline {subsubsection}{Range updates}{93}{section.9.4}%
\contentsline {chapter}{\numberline {10}Bit manipulation}{95}{chapter.10}%
\contentsline {section}{\numberline {10.1}Bit representation}{95}{section.10.1}%
\contentsline {section}{\numberline {10.2}Bit operations}{96}{section.10.2}%
\contentsline {subsubsection}{And operation}{96}{section.10.2}%
\contentsline {subsubsection}{Or operation}{96}{section.10.2}%
\contentsline {subsubsection}{Xor operation}{97}{section.10.2}%
\contentsline {subsubsection}{Not operation}{97}{section.10.2}%
\contentsline {subsubsection}{Bit shifts}{97}{section.10.2}%
\contentsline {subsubsection}{Applications}{97}{section.10.2}%
\contentsline {section}{\numberline {10.3}Representing sets}{98}{section.10.3}%
\contentsline {subsubsection}{Set implementation}{98}{section.10.3}%
\contentsline {subsubsection}{Set operations}{99}{lstnumber.-141.4}%
\contentsline {subsubsection}{Iterating through subsets}{99}{lstnumber.-142.4}%
\contentsline {section}{\numberline {10.4}Bit optimizations}{100}{section.10.4}%
\contentsline {subsubsection}{Hamming distances}{100}{section.10.4}%
\contentsline {subsubsection}{Counting subgrids}{101}{lstnumber.-147.3}%
\contentsline {section}{\numberline {10.5}Dynamic programming}{102}{section.10.5}%
\contentsline {subsubsection}{Optimal selection}{102}{section.10.5}%
\contentsline {subsubsection}{From permutations to subsets}{103}{lstnumber.-152.11}%
\contentsline {subsubsection}{Counting subsets}{105}{lstnumber.-155.18}%
\contentsline {part}{II\hspace {1em}Graph algorithms}{107}{part.2}%
\contentsline {chapter}{\numberline {11}Basics of graphs}{109}{chapter.11}%
\contentsline {section}{\numberline {11.1}Graph terminology}{109}{section.11.1}%
\contentsline {subsubsection}{Connectivity}{110}{section.11.1}%
\contentsline {subsubsection}{Edge directions}{110}{section.11.1}%
\contentsline {subsubsection}{Edge weights}{111}{section.11.1}%
\contentsline {subsubsection}{Neighbors and degrees}{111}{section.11.1}%
\contentsline {subsubsection}{Colorings}{112}{section.11.1}%
\contentsline {subsubsection}{Simplicity}{112}{section.11.1}%
\contentsline {section}{\numberline {11.2}Graph representation}{113}{section.11.2}%
\contentsline {subsubsection}{Adjacency list representation}{113}{section.11.2}%
\contentsline {subsubsection}{Adjacency matrix representation}{114}{lstnumber.-163.3}%
\contentsline {subsubsection}{Edge list representation}{115}{lstnumber.-164.1}%
\contentsline {chapter}{\numberline {12}Graph traversal}{117}{chapter.12}%
\contentsline {section}{\numberline {12.1}Depth-first search}{117}{section.12.1}%
\contentsline {section}{\numberline {12.2}Breadth-first search}{119}{section.12.2}%
\contentsline {section}{\numberline {12.3}Applications}{121}{section.12.3}%
\contentsline {subsubsection}{Connectivity check}{121}{section.12.3}%
\contentsline {subsubsection}{Finding cycles}{121}{section.12.3}%
\contentsline {subsubsection}{Bipartiteness check}{122}{section.12.3}%
\contentsline {chapter}{\numberline {13}Shortest paths}{123}{chapter.13}%
\contentsline {section}{\numberline {13.1}BellmanFord algorithm}{123}{section.13.1}%
\contentsline {subsubsection}{Example}{123}{section.13.1}%
\contentsline {subsubsection}{Implementation}{125}{section.13.1}%
\contentsline {subsubsection}{Negative cycles}{125}{lstnumber.-174.9}%
\contentsline {subsubsection}{SPFA algorithm}{126}{lstnumber.-174.9}%
\contentsline {section}{\numberline {13.2}Dijkstra's algorithm}{126}{section.13.2}%
\contentsline {subsubsection}{Example}{126}{section.13.2}%
\contentsline {subsubsection}{Negative edges}{128}{section.13.2}%
\contentsline {subsubsection}{Implementation}{128}{section.13.2}%
\contentsline {section}{\numberline {13.3}FloydWarshall algorithm}{129}{section.13.3}%
\contentsline {subsubsection}{Example}{129}{section.13.3}%
\contentsline {subsubsection}{Implementation}{131}{section.13.3}%
\contentsline {chapter}{\numberline {14}Tree algorithms}{133}{chapter.14}%
\contentsline {section}{\numberline {14.1}Tree traversal}{134}{section.14.1}%
\contentsline {subsubsection}{Dynamic programming}{134}{lstnumber.-179.1}%
\contentsline {section}{\numberline {14.2}Diameter}{135}{section.14.2}%
\contentsline {subsubsection}{Algorithm 1}{135}{section.14.2}%
\contentsline {subsubsection}{Algorithm 2}{136}{section.14.2}%
\contentsline {section}{\numberline {14.3}All longest paths}{137}{section.14.3}%
\contentsline {section}{\numberline {14.4}Binary trees}{139}{section.14.4}%
\contentsline {chapter}{\numberline {15}Spanning trees}{141}{chapter.15}%
\contentsline {section}{\numberline {15.1}Kruskal's algorithm}{142}{section.15.1}%
\contentsline {subsubsection}{Example}{142}{section.15.1}%
\contentsline {subsubsection}{Why does this work?}{144}{section.15.1}%
\contentsline {subsubsection}{Implementation}{145}{section.15.1}%
\contentsline {section}{\numberline {15.2}Union-find structure}{145}{section.15.2}%
\contentsline {subsubsection}{Structure}{145}{section.15.2}%
\contentsline {subsubsection}{Implementation}{146}{section.15.2}%
\contentsline {section}{\numberline {15.3}Prim's algorithm}{147}{section.15.3}%
\contentsline {subsubsection}{Example}{147}{section.15.3}%
\contentsline {subsubsection}{Implementation}{148}{section.15.3}%
\contentsline {chapter}{\numberline {16}Directed graphs}{149}{chapter.16}%
\contentsline {section}{\numberline {16.1}Topological sorting}{149}{section.16.1}%
\contentsline {subsubsection}{Algorithm}{150}{section.16.1}%
\contentsline {subsubsection}{Example 1}{150}{section.16.1}%
\contentsline {subsubsection}{Example 2}{151}{section.16.1}%
\contentsline {section}{\numberline {16.2}Dynamic programming}{151}{section.16.2}%
\contentsline {subsubsection}{Counting the number of paths}{152}{section.16.2}%
\contentsline {subsubsection}{Extending Dijkstra's algorithm}{153}{section.16.2}%
\contentsline {subsubsection}{Representing problems as graphs}{153}{section.16.2}%
\contentsline {section}{\numberline {16.3}Successor paths}{154}{section.16.3}%
\contentsline {section}{\numberline {16.4}Cycle detection}{155}{section.16.4}%
\contentsline {subsubsection}{Floyd's algorithm}{156}{section.16.4}%
\contentsline {chapter}{\numberline {17}Strong connectivity}{157}{chapter.17}%
\contentsline {section}{\numberline {17.1}Kosaraju's algorithm}{158}{section.17.1}%
\contentsline {subsubsection}{Search 1}{158}{section.17.1}%
\contentsline {subsubsection}{Search 2}{159}{section.17.1}%
\contentsline {section}{\numberline {17.2}2SAT problem}{160}{section.17.2}%
\contentsline {chapter}{\numberline {18}Tree queries}{163}{chapter.18}%
\contentsline {section}{\numberline {18.1}Finding ancestors}{163}{section.18.1}%
\contentsline {section}{\numberline {18.2}Subtrees and paths}{164}{section.18.2}%
\contentsline {subsubsection}{Subtree queries}{165}{section.18.2}%
\contentsline {subsubsection}{Path queries}{166}{section.18.2}%
\contentsline {section}{\numberline {18.3}Lowest common ancestor}{167}{section.18.3}%
\contentsline {subsubsection}{Method 1}{167}{section.18.3}%
\contentsline {subsubsection}{Method 2}{168}{section.18.3}%
\contentsline {subsubsection}{Distances of nodes}{169}{section.18.3}%
\contentsline {section}{\numberline {18.4}Offline algorithms}{170}{section.18.4}%
\contentsline {subsubsection}{Merging data structures}{170}{section.18.4}%
\contentsline {subsubsection}{Lowest common ancestors}{171}{lstnumber.-189.1}%
\contentsline {chapter}{\numberline {19}Paths and circuits}{173}{chapter.19}%
\contentsline {section}{\numberline {19.1}Eulerian paths}{173}{section.19.1}%
\contentsline {subsubsection}{Existence}{174}{section.19.1}%
\contentsline {subsubsection}{Hierholzer's algorithm}{175}{section.19.1}%
\contentsline {subsubsection}{Example}{176}{section.19.1}%
\contentsline {section}{\numberline {19.2}Hamiltonian paths}{177}{section.19.2}%
\contentsline {subsubsection}{Existence}{177}{section.19.2}%
\contentsline {subsubsection}{Construction}{178}{section.19.2}%
\contentsline {section}{\numberline {19.3}De Bruijn sequences}{178}{section.19.3}%
\contentsline {section}{\numberline {19.4}Knight's tours}{179}{section.19.4}%
\contentsline {subsubsection}{Warnsdorf's rule}{179}{section.19.4}%
\contentsline {chapter}{\numberline {20}Flows and cuts}{181}{chapter.20}%
\contentsline {subsubsection}{Maximum flow}{181}{chapter.20}%
\contentsline {subsubsection}{Minimum cut}{182}{chapter.20}%
\contentsline {section}{\numberline {20.1}FordFulkerson algorithm}{182}{section.20.1}%
\contentsline {subsubsection}{Algorithm description}{183}{section.20.1}%
\contentsline {subsubsection}{Finding paths}{184}{section.20.1}%
\contentsline {subsubsection}{Minimum cuts}{185}{section.20.1}%
\contentsline {section}{\numberline {20.2}Disjoint paths}{186}{section.20.2}%
\contentsline {subsubsection}{Edge-disjoint paths}{186}{section.20.2}%
\contentsline {subsubsection}{Node-disjoint paths}{186}{section.20.2}%
\contentsline {section}{\numberline {20.3}Maximum matchings}{187}{section.20.3}%
\contentsline {subsubsection}{Finding maximum matchings}{188}{section.20.3}%
\contentsline {subsubsection}{Hall's theorem}{189}{section.20.3}%
\contentsline {subsubsection}{Kőnig's theorem}{189}{section.20.3}%
\contentsline {section}{\numberline {20.4}Path covers}{190}{section.20.4}%
\contentsline {subsubsection}{Node-disjoint path cover}{191}{section.20.4}%
\contentsline {subsubsection}{General path cover}{192}{section.20.4}%
\contentsline {subsubsection}{Dilworth's theorem}{193}{section.20.4}%
\contentsline {part}{III\hspace {1em}Advanced topics}{195}{part.3}%
\contentsline {chapter}{\numberline {21}Number theory}{197}{chapter.21}%
\contentsline {section}{\numberline {21.1}Primes and factors}{197}{section.21.1}%
\contentsline {subsubsection}{Number of primes}{198}{section.21.1}%
\contentsline {subsubsection}{Density of primes}{198}{section.21.1}%
\contentsline {subsubsection}{Conjectures}{199}{section.21.1}%
\contentsline {subsubsection}{Basic algorithms}{199}{section.21.1}%
\contentsline {subsubsection}{Sieve of Eratosthenes}{200}{lstnumber.-191.11}%
\contentsline {subsubsection}{Euclid's algorithm}{200}{lstnumber.-192.6}%
\contentsline {subsubsection}{Euler's totient function}{201}{lstnumber.-193.4}%
\contentsline {section}{\numberline {21.2}Modular arithmetic}{201}{section.21.2}%
\contentsline {subsubsection}{Modular exponentiation}{202}{section.21.2}%
\contentsline {subsubsection}{Fermat's theorem and Euler's theorem}{202}{lstnumber.-194.7}%
\contentsline {subsubsection}{Modular inverse}{202}{lstnumber.-194.7}%
\contentsline {subsubsection}{Computer arithmetic}{203}{lstnumber.-194.7}%
\contentsline {section}{\numberline {21.3}Solving equations}{204}{section.21.3}%
\contentsline {subsubsection}{Chinese remainder theorem}{205}{section.21.3}%
\contentsline {section}{\numberline {21.4}Other results}{205}{section.21.4}%
\contentsline {subsubsection}{Lagrange's theorem}{205}{section.21.4}%
\contentsline {subsubsection}{Zeckendorf's theorem}{206}{section.21.4}%
\contentsline {subsubsection}{Pythagorean triples}{206}{section.21.4}%
\contentsline {subsubsection}{Wilson's theorem}{206}{section.21.4}%
\contentsline {chapter}{\numberline {22}Combinatorics}{207}{chapter.22}%
\contentsline {section}{\numberline {22.1}Binomial coefficients}{208}{section.22.1}%
\contentsline {subsubsection}{Formula 1}{208}{section.22.1}%
\contentsline {subsubsection}{Formula 2}{208}{section.22.1}%
\contentsline {subsubsection}{Properties}{208}{section.22.1}%
\contentsline {subsubsection}{Boxes and balls}{209}{section.22.1}%
\contentsline {subsubsection}{Multinomial coefficients}{210}{section.22.1}%
\contentsline {section}{\numberline {22.2}Catalan numbers}{210}{section.22.2}%
\contentsline {subsubsection}{Parenthesis expressions}{211}{section.22.2}%
\contentsline {subsubsection}{Formula 1}{211}{section.22.2}%
\contentsline {subsubsection}{Formula 2}{211}{section.22.2}%
\contentsline {subsubsection}{Counting trees}{212}{section.22.2}%
\contentsline {section}{\numberline {22.3}Inclusion-exclusion}{212}{section.22.3}%
\contentsline {subsubsection}{Derangements}{213}{section.22.3}%
\contentsline {section}{\numberline {22.4}Burnside's lemma}{214}{section.22.4}%
\contentsline {section}{\numberline {22.5}Cayley's formula}{215}{section.22.5}%
\contentsline {subsubsection}{Prüfer code}{216}{section.22.5}%
\contentsline {chapter}{\numberline {23}Matrices}{217}{chapter.23}%
\contentsline {section}{\numberline {23.1}Operations}{217}{section.23.1}%
\contentsline {subsubsection}{Matrix multiplication}{218}{section.23.1}%
\contentsline {subsubsection}{Matrix power}{219}{section.23.1}%
\contentsline {subsubsection}{Determinant}{219}{section.23.1}%
\contentsline {section}{\numberline {23.2}Linear recurrences}{220}{section.23.2}%
\contentsline {subsubsection}{Fibonacci numbers}{220}{section.23.2}%
\contentsline {subsubsection}{General case}{221}{section.23.2}%
\contentsline {section}{\numberline {23.3}Graphs and matrices}{222}{section.23.3}%
\contentsline {subsubsection}{Counting paths}{222}{section.23.3}%
\contentsline {subsubsection}{Shortest paths}{222}{section.23.3}%
\contentsline {subsubsection}{Kirchhoff's theorem}{223}{section.23.3}%
\contentsline {chapter}{\numberline {24}Probability}{225}{chapter.24}%
\contentsline {section}{\numberline {24.1}Calculation}{225}{section.24.1}%
\contentsline {section}{\numberline {24.2}Events}{226}{section.24.2}%
\contentsline {subsubsection}{Complement}{227}{section.24.2}%
\contentsline {subsubsection}{Union}{227}{section.24.2}%
\contentsline {subsubsection}{Conditional probability}{227}{section.24.2}%
\contentsline {subsubsection}{Intersection}{228}{section.24.2}%
\contentsline {section}{\numberline {24.3}Random variables}{228}{section.24.3}%
\contentsline {subsubsection}{Expected value}{229}{section.24.3}%
\contentsline {subsubsection}{Distributions}{229}{section.24.3}%
\contentsline {section}{\numberline {24.4}Markov chains}{230}{section.24.4}%
\contentsline {section}{\numberline {24.5}Randomized algorithms}{231}{section.24.5}%
\contentsline {subsubsection}{Order statistics}{232}{section.24.5}%
\contentsline {subsubsection}{Verifying matrix multiplication}{232}{section.24.5}%
\contentsline {subsubsection}{Graph coloring}{233}{section.24.5}%
\contentsline {chapter}{\numberline {25}Game theory}{235}{chapter.25}%
\contentsline {section}{\numberline {25.1}Game states}{235}{section.25.1}%
\contentsline {subsubsection}{Winning and losing states}{235}{section.25.1}%
\contentsline {subsubsection}{State graph}{236}{section.25.1}%
\contentsline {section}{\numberline {25.2}Nim game}{237}{section.25.2}%
\contentsline {subsubsection}{Analysis}{237}{section.25.2}%
\contentsline {subsubsection}{Misère game}{238}{section.25.2}%
\contentsline {section}{\numberline {25.3}SpragueGrundy theorem}{238}{section.25.3}%
\contentsline {subsubsection}{Grundy numbers}{238}{section.25.3}%
\contentsline {subsubsection}{Subgames}{240}{section.25.3}%
\contentsline {subsubsection}{Grundy's game}{240}{section.25.3}%
\contentsline {chapter}{\numberline {26}String algorithms}{243}{chapter.26}%
\contentsline {section}{\numberline {26.1}String terminology}{243}{section.26.1}%
\contentsline {section}{\numberline {26.2}Trie structure}{244}{section.26.2}%
\contentsline {section}{\numberline {26.3}String hashing}{245}{section.26.3}%
\contentsline {section}{\numberline {26.4}Z-algorithm}{247}{section.26.4}%
\contentsline {subsubsection}{Using the Z-array}{250}{section.26.4}%
\contentsline {subsubsection}{Implementation}{250}{section.26.4}%
\contentsline {chapter}{\numberline {27}Square root algorithms}{251}{chapter.27}%
\contentsline {section}{\numberline {27.1}Combining algorithms}{252}{section.27.1}%
\contentsline {subsubsection}{Case processing}{252}{section.27.1}%
\contentsline {subsubsection}{Batch processing}{253}{section.27.1}%
\contentsline {section}{\numberline {27.2}Integer partitions}{254}{section.27.2}%
\contentsline {subsubsection}{Knapsack}{254}{section.27.2}%
\contentsline {subsubsection}{String construction}{255}{section.27.2}%
\contentsline {section}{\numberline {27.3}Mo's algorithm}{255}{section.27.3}%
\contentsline {chapter}{\numberline {28}Segment trees revisited}{257}{chapter.28}%
\contentsline {section}{\numberline {28.1}Lazy propagation}{258}{section.28.1}%
\contentsline {subsubsection}{Lazy segment trees}{258}{section.28.1}%
\contentsline {subsubsection}{Polynomial updates}{260}{section.28.1}%
\contentsline {section}{\numberline {28.2}Dynamic trees}{261}{section.28.2}%
\contentsline {subsubsection}{Sparse segment trees}{261}{lstnumber.-202.4}%
\contentsline {subsubsection}{Persistent segment trees}{262}{lstnumber.-202.4}%
\contentsline {section}{\numberline {28.3}Data structures}{263}{section.28.3}%
\contentsline {section}{\numberline {28.4}Two-dimensionality}{264}{section.28.4}%
\contentsline {chapter}{\numberline {29}Geometry}{265}{chapter.29}%
\contentsline {section}{\numberline {29.1}Complex numbers}{266}{section.29.1}%
\contentsline {section}{\numberline {29.2}Points and lines}{268}{section.29.2}%
\contentsline {subsubsection}{Point location}{268}{lstnumber.-208.3}%
\contentsline {subsubsection}{Line segment intersection}{269}{lstnumber.-208.3}%
\contentsline {subsubsection}{Point distance from a line}{269}{lstnumber.-208.3}%
\contentsline {subsubsection}{Point inside a polygon}{270}{lstnumber.-208.3}%
\contentsline {section}{\numberline {29.3}Polygon area}{271}{section.29.3}%
\contentsline {subsubsection}{Pick's theorem}{272}{section.29.3}%
\contentsline {section}{\numberline {29.4}Distance functions}{272}{section.29.4}%
\contentsline {subsubsection}{Rotating coordinates}{273}{section.29.4}%
\contentsline {chapter}{\numberline {30}Sweep line algorithms}{275}{chapter.30}%
\contentsline {section}{\numberline {30.1}Intersection points}{276}{section.30.1}%
\contentsline {section}{\numberline {30.2}Closest pair problem}{277}{section.30.2}%
\contentsline {section}{\numberline {30.3}Convex hull problem}{278}{section.30.3}%
\contentsline {chapter}{Bibliography}{281}{section*.3}%
\contentsline {chapter}{Index}{287}{chapter*.5}%

View File

@ -1,75 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\citation{goo17}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{3}{chapter.1}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}Programming languages}{3}{section.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{C++ code template}{4}{section.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.2}Input and output}{4}{section.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.3}Working with numbers}{6}{section.1.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Integers}{6}{section.1.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Modular arithmetic}{6}{lstnumber.-14.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Floating point numbers}{7}{lstnumber.-16.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.4}Shortening code}{8}{section.1.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Type names}{8}{section.1.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Macros}{9}{lstnumber.-23.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.5}Mathematics}{10}{section.1.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Sum formulas}{10}{section.1.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Set theory}{12}{section.1.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Logic}{13}{section.1.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Functions}{13}{section.1.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Logarithms}{14}{section.1.5}\protected@file@percent }
\citation{iois}
\citation{coci}
\citation{usaco}
\citation{main}
\@writefile{toc}{\contentsline {section}{\numberline {1.6}Contests and resources}{15}{section.1.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{IOI}{15}{section.1.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{ICPC}{15}{section.1.6}\protected@file@percent }
\citation{ski03}
\citation{hal13}
\citation{dik12}
\citation{cor09}
\citation{kle05}
\citation{ski08}
\@writefile{toc}{\contentsline {subsubsection}{Online contests}{16}{section.1.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Books}{16}{section.1.6}\protected@file@percent }
\@setckpt{chapter01}{
\setcounter{page}{17}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{2}
\setcounter{mpfootnote}{0}
\setcounter{part}{1}
\setcounter{chapter}{1}
\setcounter{section}{6}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{2}
\setcounter{Item}{0}
\setcounter{Hfootnote}{2}
\setcounter{bookmark@seq@number}{9}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,54 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Time complexity}{17}{chapter.2}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Calculation rules}{17}{section.2.1}\protected@file@percent }
\citation{gar79}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Complexity classes}{20}{section.2.2}\protected@file@percent }
\citation{ben86}
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Estimating efficiency}{21}{section.2.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.4}Maximum subarray sum}{21}{section.2.4}\protected@file@percent }
\citation{ben86}
\@writefile{toc}{\contentsline {subsubsection}{Algorithm 1}{22}{section.2.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Algorithm 2}{22}{lstnumber.-46.11}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Algorithm 3}{23}{lstnumber.-47.9}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Efficiency comparison}{23}{lstnumber.-48.6}\protected@file@percent }
\@setckpt{chapter02}{
\setcounter{page}{25}
\setcounter{equation}{0}
\setcounter{enumi}{2}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{3}
\setcounter{mpfootnote}{0}
\setcounter{part}{1}
\setcounter{chapter}{2}
\setcounter{section}{4}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{7}
\setcounter{Item}{2}
\setcounter{Hfootnote}{5}
\setcounter{bookmark@seq@number}{14}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,60 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Sorting}{25}{chapter.3}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Sorting theory}{25}{section.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{$O(n^2)$ algorithms}{25}{section.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Inversions}{26}{lstnumber.-49.7}\protected@file@percent }
\citation{knu983}
\@writefile{toc}{\contentsline {subsubsection}{$O(n \qopname \relax o{log}n)$ algorithms}{27}{lstnumber.-49.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Sorting lower bound}{28}{Item.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Counting sort}{28}{Item.7}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Sorting in C++}{29}{section.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Comparison operators}{30}{lstnumber.-53.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{User-defined structs}{30}{lstnumber.-55.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Comparison functions}{31}{lstnumber.-56.7}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Binary search}{31}{section.3.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Method 1}{32}{lstnumber.-59.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Method 2}{32}{lstnumber.-60.9}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{C++ functions}{33}{lstnumber.-61.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Finding the smallest solution}{33}{lstnumber.-64.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Finding the maximum value}{34}{lstnumber.-65.5}\protected@file@percent }
\@setckpt{chapter03}{
\setcounter{page}{35}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{2}
\setcounter{mpfootnote}{0}
\setcounter{part}{1}
\setcounter{chapter}{3}
\setcounter{section}{3}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{6}
\setcounter{Item}{7}
\setcounter{Hfootnote}{7}
\setcounter{bookmark@seq@number}{18}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,61 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Data structures}{35}{chapter.4}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}Dynamic arrays}{35}{section.4.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Set structures}{37}{section.4.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.3}Map structures}{38}{section.4.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.4}Iterators and ranges}{39}{section.4.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Working with ranges}{39}{section.4.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Set iterators}{40}{lstnumber.-87.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.5}Other structures}{41}{section.4.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Bitset}{41}{section.4.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Deque}{42}{lstnumber.-98.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Stack}{42}{lstnumber.-99.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Queue}{43}{lstnumber.-100.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Priority queue}{43}{lstnumber.-101.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Policy-based data structures}{44}{lstnumber.-103.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.6}Comparison to sorting}{44}{section.4.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Algorithm 1}{45}{section.4.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Algorithm 2}{45}{section.4.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Algorithm 3}{45}{section.4.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Efficiency comparison}{45}{section.4.6}\protected@file@percent }
\@setckpt{chapter04}{
\setcounter{page}{47}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{1}
\setcounter{chapter}{4}
\setcounter{section}{6}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{3}
\setcounter{Item}{7}
\setcounter{Hfootnote}{7}
\setcounter{bookmark@seq@number}{25}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,59 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Complete search}{47}{chapter.5}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {5.1}Generating subsets}{47}{section.5.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Method 1}{47}{section.5.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Method 2}{48}{lstnumber.-110.10}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.2}Generating permutations}{49}{section.5.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Method 1}{49}{section.5.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Method 2}{49}{lstnumber.-113.14}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.3}Backtracking}{50}{section.5.3}\protected@file@percent }
\citation{q27}
\@writefile{toc}{\contentsline {section}{\numberline {5.4}Pruning the search}{51}{section.5.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Basic algorithm}{52}{section.5.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Optimization 1}{52}{section.5.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Optimization 2}{53}{section.5.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Optimization 3}{53}{section.5.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Optimization 4}{53}{section.5.4}\protected@file@percent }
\citation{hor74}
\@writefile{toc}{\contentsline {section}{\numberline {5.5}Meet in the middle}{54}{section.5.5}\protected@file@percent }
\@setckpt{chapter05}{
\setcounter{page}{56}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{2}
\setcounter{mpfootnote}{0}
\setcounter{part}{1}
\setcounter{chapter}{5}
\setcounter{section}{5}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{13}
\setcounter{Item}{7}
\setcounter{Hfootnote}{9}
\setcounter{bookmark@seq@number}{31}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,55 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {6}Greedy algorithms}{57}{chapter.6}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {6.1}Coin problem}{57}{section.6.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Greedy algorithm}{57}{section.6.1}\protected@file@percent }
\citation{pea05}
\@writefile{toc}{\contentsline {subsubsection}{General case}{58}{section.6.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.2}Scheduling}{58}{section.6.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.3}Tasks and deadlines}{60}{section.6.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.4}Minimizing sums}{61}{section.6.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Case $c=1$}{61}{section.6.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Case $c=2$}{61}{section.6.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.5}Data compression}{62}{section.6.5}\protected@file@percent }
\citation{huf52}
\@writefile{toc}{\contentsline {subsubsection}{Huffman coding}{63}{section.6.5}\protected@file@percent }
\@setckpt{chapter06}{
\setcounter{page}{65}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{2}
\setcounter{mpfootnote}{0}
\setcounter{part}{1}
\setcounter{chapter}{6}
\setcounter{section}{5}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{13}
\setcounter{Item}{7}
\setcounter{Hfootnote}{11}
\setcounter{bookmark@seq@number}{37}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,56 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {7}Dynamic programming}{65}{chapter.7}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {7.1}Coin problem}{65}{section.7.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Recursive formulation}{66}{section.7.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Using memoization}{67}{lstnumber.-116.9}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Constructing a solution}{68}{lstnumber.-119.9}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Counting the number of solutions}{69}{lstnumber.-122.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7.2}Longest increasing subsequence}{70}{section.7.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7.3}Paths in a grid}{71}{section.7.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7.4}Knapsack problems}{72}{section.7.4}\protected@file@percent }
\citation{lev66}
\@writefile{toc}{\contentsline {section}{\numberline {7.5}Edit distance}{74}{section.7.5}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7.6}Counting tilings}{75}{section.7.6}\protected@file@percent }
\citation{kas61}
\citation{tem61}
\@setckpt{chapter07}{
\setcounter{page}{77}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{2}
\setcounter{mpfootnote}{0}
\setcounter{part}{1}
\setcounter{chapter}{7}
\setcounter{section}{6}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{7}
\setcounter{Item}{7}
\setcounter{Hfootnote}{13}
\setcounter{bookmark@seq@number}{44}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,49 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {8}Amortized analysis}{77}{chapter.8}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {8.1}Two pointers method}{77}{section.8.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Subarray sum}{77}{section.8.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{2SUM problem}{78}{section.8.1}\protected@file@percent }
\citation{gro14}
\@writefile{toc}{\contentsline {section}{\numberline {8.2}Nearest smaller elements}{79}{section.8.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {8.3}Sliding window minimum}{81}{section.8.3}\protected@file@percent }
\@setckpt{chapter08}{
\setcounter{page}{83}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{1}
\setcounter{mpfootnote}{0}
\setcounter{part}{1}
\setcounter{chapter}{8}
\setcounter{section}{3}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{7}
\setcounter{Item}{7}
\setcounter{Hfootnote}{14}
\setcounter{bookmark@seq@number}{48}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,62 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {9}Range queries}{83}{chapter.9}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {9.1}Static array queries}{84}{section.9.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Sum queries}{84}{section.9.1}\protected@file@percent }
\citation{ben00}
\citation{fis06}
\@writefile{toc}{\contentsline {subsubsection}{Minimum queries}{85}{section.9.1}\protected@file@percent }
\citation{fen94}
\@writefile{toc}{\contentsline {section}{\numberline {9.2}Binary indexed tree}{86}{section.9.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Structure}{86}{section.9.2}\protected@file@percent }
\citation{sta06}
\citation{ben80}
\@writefile{toc}{\contentsline {subsubsection}{Implementation}{88}{section.9.2}\protected@file@percent }
\citation{dim15}
\@writefile{toc}{\contentsline {section}{\numberline {9.3}Segment tree}{89}{section.9.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Structure}{89}{section.9.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Implementation}{90}{section.9.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Other queries}{92}{lstnumber.-135.7}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {9.4}Additional techniques}{93}{section.9.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Index compression}{93}{section.9.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Range updates}{93}{section.9.4}\protected@file@percent }
\@setckpt{chapter09}{
\setcounter{page}{95}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{4}
\setcounter{mpfootnote}{0}
\setcounter{part}{1}
\setcounter{chapter}{9}
\setcounter{section}{4}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{8}
\setcounter{Item}{7}
\setcounter{Hfootnote}{18}
\setcounter{bookmark@seq@number}{53}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,63 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {10}Bit manipulation}{95}{chapter.10}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {10.1}Bit representation}{95}{section.10.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {10.2}Bit operations}{96}{section.10.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{And operation}{96}{section.10.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Or operation}{96}{section.10.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Xor operation}{97}{section.10.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Not operation}{97}{section.10.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Bit shifts}{97}{section.10.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Applications}{97}{section.10.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {10.3}Representing sets}{98}{section.10.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Set implementation}{98}{section.10.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Set operations}{99}{lstnumber.-141.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Iterating through subsets}{99}{lstnumber.-142.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {10.4}Bit optimizations}{100}{section.10.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Hamming distances}{100}{section.10.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Counting subgrids}{101}{lstnumber.-147.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {10.5}Dynamic programming}{102}{section.10.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Optimal selection}{102}{section.10.5}\protected@file@percent }
\citation{hel62}
\@writefile{toc}{\contentsline {subsubsection}{From permutations to subsets}{103}{lstnumber.-152.11}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Counting subsets}{105}{lstnumber.-155.18}\protected@file@percent }
\@setckpt{chapter10}{
\setcounter{page}{107}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{1}
\setcounter{mpfootnote}{0}
\setcounter{part}{1}
\setcounter{chapter}{10}
\setcounter{section}{5}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{6}
\setcounter{Item}{7}
\setcounter{Hfootnote}{19}
\setcounter{bookmark@seq@number}{59}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,54 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {11}Basics of graphs}{109}{chapter.11}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {11.1}Graph terminology}{109}{section.11.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Connectivity}{110}{section.11.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Edge directions}{110}{section.11.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Edge weights}{111}{section.11.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Neighbors and degrees}{111}{section.11.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Colorings}{112}{section.11.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Simplicity}{112}{section.11.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {11.2}Graph representation}{113}{section.11.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Adjacency list representation}{113}{section.11.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Adjacency matrix representation}{114}{lstnumber.-163.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Edge list representation}{115}{lstnumber.-164.1}\protected@file@percent }
\@setckpt{chapter11}{
\setcounter{page}{117}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{1}
\setcounter{mpfootnote}{0}
\setcounter{part}{2}
\setcounter{chapter}{11}
\setcounter{section}{2}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{6}
\setcounter{Item}{7}
\setcounter{Hfootnote}{20}
\setcounter{bookmark@seq@number}{63}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,49 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {12}Graph traversal}{117}{chapter.12}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {12.1}Depth-first search}{117}{section.12.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {12.2}Breadth-first search}{119}{section.12.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {12.3}Applications}{121}{section.12.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Connectivity check}{121}{section.12.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Finding cycles}{121}{section.12.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Bipartiteness check}{122}{section.12.3}\protected@file@percent }
\@setckpt{chapter12}{
\setcounter{page}{123}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{2}
\setcounter{chapter}{12}
\setcounter{section}{3}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{14}
\setcounter{Item}{7}
\setcounter{Hfootnote}{20}
\setcounter{bookmark@seq@number}{67}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,61 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\citation{bel58}
\citation{for56a}
\@writefile{toc}{\contentsline {chapter}{\numberline {13}Shortest paths}{123}{chapter.13}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {13.1}BellmanFord algorithm}{123}{section.13.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Example}{123}{section.13.1}\protected@file@percent }
\citation{fan94}
\@writefile{toc}{\contentsline {subsubsection}{Implementation}{125}{section.13.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Negative cycles}{125}{lstnumber.-174.9}\protected@file@percent }
\citation{dij59}
\@writefile{toc}{\contentsline {subsubsection}{SPFA algorithm}{126}{lstnumber.-174.9}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {13.2}Dijkstra's algorithm}{126}{section.13.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Example}{126}{section.13.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Negative edges}{128}{section.13.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Implementation}{128}{section.13.2}\protected@file@percent }
\citation{flo62}
\citation{war62}
\@writefile{toc}{\contentsline {section}{\numberline {13.3}FloydWarshall algorithm}{129}{section.13.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Example}{129}{section.13.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Implementation}{131}{section.13.3}\protected@file@percent }
\@setckpt{chapter13}{
\setcounter{page}{132}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{4}
\setcounter{mpfootnote}{0}
\setcounter{part}{2}
\setcounter{chapter}{13}
\setcounter{section}{3}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{9}
\setcounter{Item}{7}
\setcounter{Hfootnote}{24}
\setcounter{bookmark@seq@number}{71}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,50 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Tree algorithms}{1}{chapter.1}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}Tree traversal}{2}{section.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Dynamic programming}{2}{lstnumber.-2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.2}Diameter}{3}{section.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Algorithm 1}{3}{section.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Algorithm 2}{4}{section.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.3}All longest paths}{5}{section.1.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.4}Binary trees}{7}{section.1.4}\protected@file@percent }
\@setckpt{chapter14}{
\setcounter{page}{8}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{1}
\setcounter{section}{4}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{9}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{bookmark@seq@number}{5}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,57 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {15}Spanning trees}{141}{chapter.15}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\citation{kru56}
\@writefile{toc}{\contentsline {section}{\numberline {15.1}Kruskal's algorithm}{142}{section.15.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Example}{142}{section.15.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Why does this work?}{144}{section.15.1}\protected@file@percent }
\citation{hop71}
\citation{tar75}
\@writefile{toc}{\contentsline {subsubsection}{Implementation}{145}{section.15.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {15.2}Union-find structure}{145}{section.15.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Structure}{145}{section.15.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Implementation}{146}{section.15.2}\protected@file@percent }
\citation{pri57}
\@writefile{toc}{\contentsline {section}{\numberline {15.3}Prim's algorithm}{147}{section.15.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Example}{147}{section.15.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Implementation}{148}{section.15.3}\protected@file@percent }
\@setckpt{chapter15}{
\setcounter{page}{149}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{3}
\setcounter{mpfootnote}{0}
\setcounter{part}{2}
\setcounter{chapter}{15}
\setcounter{section}{3}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{8}
\setcounter{Item}{7}
\setcounter{Hfootnote}{27}
\setcounter{bookmark@seq@number}{80}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,55 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {16}Directed graphs}{149}{chapter.16}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {16.1}Topological sorting}{149}{section.16.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Algorithm}{150}{section.16.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Example 1}{150}{section.16.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Example 2}{151}{section.16.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {16.2}Dynamic programming}{151}{section.16.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Counting the number of paths}{152}{section.16.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Extending Dijkstra's algorithm}{153}{section.16.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Representing problems as graphs}{153}{section.16.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {16.3}Successor paths}{154}{section.16.3}\protected@file@percent }
\citation{knu982}
\@writefile{toc}{\contentsline {section}{\numberline {16.4}Cycle detection}{155}{section.16.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Floyd's algorithm}{156}{section.16.4}\protected@file@percent }
\@setckpt{chapter16}{
\setcounter{page}{157}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{2}
\setcounter{mpfootnote}{0}
\setcounter{part}{2}
\setcounter{chapter}{16}
\setcounter{section}{4}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{7}
\setcounter{Item}{7}
\setcounter{Hfootnote}{29}
\setcounter{bookmark@seq@number}{85}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,51 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {17}Strong connectivity}{157}{chapter.17}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\citation{aho83}
\citation{sha81}
\@writefile{toc}{\contentsline {section}{\numberline {17.1}Kosaraju's algorithm}{158}{section.17.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Search 1}{158}{section.17.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Search 2}{159}{section.17.1}\protected@file@percent }
\citation{asp79}
\citation{eve75}
\@writefile{toc}{\contentsline {section}{\numberline {17.2}2SAT problem}{160}{section.17.2}\protected@file@percent }
\@setckpt{chapter17}{
\setcounter{page}{163}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{2}
\setcounter{mpfootnote}{0}
\setcounter{part}{2}
\setcounter{chapter}{17}
\setcounter{section}{2}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{7}
\setcounter{Item}{7}
\setcounter{Hfootnote}{31}
\setcounter{bookmark@seq@number}{88}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,57 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {18}Tree queries}{163}{chapter.18}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {18.1}Finding ancestors}{163}{section.18.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {18.2}Subtrees and paths}{164}{section.18.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Subtree queries}{165}{section.18.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Path queries}{166}{section.18.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {18.3}Lowest common ancestor}{167}{section.18.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Method 1}{167}{section.18.3}\protected@file@percent }
\citation{ben00}
\citation{tar84}
\@writefile{toc}{\contentsline {subsubsection}{Method 2}{168}{section.18.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Distances of nodes}{169}{section.18.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {18.4}Offline algorithms}{170}{section.18.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Merging data structures}{170}{section.18.4}\protected@file@percent }
\citation{tar79}
\@writefile{toc}{\contentsline {subsubsection}{Lowest common ancestors}{171}{lstnumber.-189.1}\protected@file@percent }
\@setckpt{chapter18}{
\setcounter{page}{173}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{2}
\setcounter{mpfootnote}{0}
\setcounter{part}{2}
\setcounter{chapter}{18}
\setcounter{section}{4}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{2}
\setcounter{Item}{7}
\setcounter{Hfootnote}{33}
\setcounter{bookmark@seq@number}{93}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,56 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {19}Paths and circuits}{173}{chapter.19}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {19.1}Eulerian paths}{173}{section.19.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Existence}{174}{section.19.1}\protected@file@percent }
\citation{hie73}
\@writefile{toc}{\contentsline {subsubsection}{Hierholzer's algorithm}{175}{section.19.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Example}{176}{section.19.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {19.2}Hamiltonian paths}{177}{section.19.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Existence}{177}{section.19.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Construction}{178}{section.19.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {19.3}De Bruijn sequences}{178}{section.19.3}\protected@file@percent }
\citation{war23}
\citation{par97}
\@writefile{toc}{\contentsline {section}{\numberline {19.4}Knight's tours}{179}{section.19.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Warnsdorf's rule}{179}{section.19.4}\protected@file@percent }
\@setckpt{chapter19}{
\setcounter{page}{180}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{3}
\setcounter{mpfootnote}{0}
\setcounter{part}{2}
\setcounter{chapter}{19}
\setcounter{section}{4}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{2}
\setcounter{Item}{7}
\setcounter{Hfootnote}{36}
\setcounter{bookmark@seq@number}{98}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,64 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {20}Flows and cuts}{181}{chapter.20}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {subsubsection}{Maximum flow}{181}{chapter.20}\protected@file@percent }
\citation{for56}
\@writefile{toc}{\contentsline {subsubsection}{Minimum cut}{182}{chapter.20}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {20.1}FordFulkerson algorithm}{182}{section.20.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Algorithm description}{183}{section.20.1}\protected@file@percent }
\citation{edm72}
\@writefile{toc}{\contentsline {subsubsection}{Finding paths}{184}{section.20.1}\protected@file@percent }
\citation{ahu91}
\@writefile{toc}{\contentsline {subsubsection}{Minimum cuts}{185}{section.20.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {20.2}Disjoint paths}{186}{section.20.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Edge-disjoint paths}{186}{section.20.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Node-disjoint paths}{186}{section.20.2}\protected@file@percent }
\citation{edm65}
\@writefile{toc}{\contentsline {section}{\numberline {20.3}Maximum matchings}{187}{section.20.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Finding maximum matchings}{188}{section.20.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Hall's theorem}{189}{section.20.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Kőnig's theorem}{189}{section.20.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {20.4}Path covers}{190}{section.20.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Node-disjoint path cover}{191}{section.20.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{General path cover}{192}{section.20.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Dilworth's theorem}{193}{section.20.4}\protected@file@percent }
\@setckpt{chapter20}{
\setcounter{page}{194}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{2}
\setcounter{chapter}{20}
\setcounter{section}{4}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{2}
\setcounter{Item}{7}
\setcounter{Hfootnote}{36}
\setcounter{bookmark@seq@number}{103}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,64 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\citation{bec07}
\@writefile{toc}{\contentsline {chapter}{\numberline {21}Number theory}{197}{chapter.21}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {21.1}Primes and factors}{197}{section.21.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Number of primes}{198}{section.21.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Density of primes}{198}{section.21.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Conjectures}{199}{section.21.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Basic algorithms}{199}{section.21.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Sieve of Eratosthenes}{200}{lstnumber.-191.11}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Euclid's algorithm}{200}{lstnumber.-192.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Euler's totient function}{201}{lstnumber.-193.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {21.2}Modular arithmetic}{201}{section.21.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Modular exponentiation}{202}{section.21.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Fermat's theorem and Euler's theorem}{202}{lstnumber.-194.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Modular inverse}{202}{lstnumber.-194.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Computer arithmetic}{203}{lstnumber.-194.7}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {21.3}Solving equations}{204}{section.21.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Chinese remainder theorem}{205}{section.21.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {21.4}Other results}{205}{section.21.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Lagrange's theorem}{205}{section.21.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Zeckendorf's theorem}{206}{section.21.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Pythagorean triples}{206}{section.21.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Wilson's theorem}{206}{section.21.4}\protected@file@percent }
\@setckpt{chapter21}{
\setcounter{page}{207}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{1}
\setcounter{mpfootnote}{0}
\setcounter{part}{3}
\setcounter{chapter}{21}
\setcounter{section}{4}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{3}
\setcounter{Item}{7}
\setcounter{Hfootnote}{37}
\setcounter{bookmark@seq@number}{109}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,59 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {22}Combinatorics}{207}{chapter.22}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {22.1}Binomial coefficients}{208}{section.22.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Formula 1}{208}{section.22.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Formula 2}{208}{section.22.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Properties}{208}{section.22.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Boxes and balls}{209}{section.22.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Multinomial coefficients}{210}{section.22.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {22.2}Catalan numbers}{210}{section.22.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Parenthesis expressions}{211}{section.22.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Formula 1}{211}{section.22.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Formula 2}{211}{section.22.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Counting trees}{212}{section.22.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {22.3}Inclusion-exclusion}{212}{section.22.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Derangements}{213}{section.22.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {22.4}Burnside's lemma}{214}{section.22.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {22.5}Cayley's formula}{215}{section.22.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Prüfer code}{216}{section.22.5}\protected@file@percent }
\@setckpt{chapter22}{
\setcounter{page}{217}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{3}
\setcounter{chapter}{22}
\setcounter{section}{5}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{3}
\setcounter{Item}{7}
\setcounter{Hfootnote}{37}
\setcounter{bookmark@seq@number}{115}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,56 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {23}Matrices}{217}{chapter.23}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {23.1}Operations}{217}{section.23.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Matrix multiplication}{218}{section.23.1}\protected@file@percent }
\citation{str69}
\citation{gal14}
\@writefile{toc}{\contentsline {subsubsection}{Matrix power}{219}{section.23.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Determinant}{219}{section.23.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {23.2}Linear recurrences}{220}{section.23.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Fibonacci numbers}{220}{section.23.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{General case}{221}{section.23.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {23.3}Graphs and matrices}{222}{section.23.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Counting paths}{222}{section.23.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Shortest paths}{222}{section.23.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Kirchhoff's theorem}{223}{section.23.3}\protected@file@percent }
\@setckpt{chapter23}{
\setcounter{page}{225}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{1}
\setcounter{mpfootnote}{0}
\setcounter{part}{3}
\setcounter{chapter}{23}
\setcounter{section}{3}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{3}
\setcounter{Item}{7}
\setcounter{Hfootnote}{38}
\setcounter{bookmark@seq@number}{119}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,60 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {24}Probability}{225}{chapter.24}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {24.1}Calculation}{225}{section.24.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {24.2}Events}{226}{section.24.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Complement}{227}{section.24.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Union}{227}{section.24.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Conditional probability}{227}{section.24.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Intersection}{228}{section.24.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {24.3}Random variables}{228}{section.24.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Expected value}{229}{section.24.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Distributions}{229}{section.24.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {24.4}Markov chains}{230}{section.24.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {24.5}Randomized algorithms}{231}{section.24.5}\protected@file@percent }
\citation{hoa61a}
\citation{hoa61b}
\citation{fre77}
\@writefile{toc}{\contentsline {subsubsection}{Order statistics}{232}{section.24.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Verifying matrix multiplication}{232}{section.24.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Graph coloring}{233}{section.24.5}\protected@file@percent }
\@setckpt{chapter24}{
\setcounter{page}{234}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{2}
\setcounter{mpfootnote}{0}
\setcounter{part}{3}
\setcounter{chapter}{24}
\setcounter{section}{5}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{3}
\setcounter{Item}{7}
\setcounter{Hfootnote}{40}
\setcounter{bookmark@seq@number}{125}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,56 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {25}Game theory}{235}{chapter.25}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {25.1}Game states}{235}{section.25.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Winning and losing states}{235}{section.25.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{State graph}{236}{section.25.1}\protected@file@percent }
\citation{bou01}
\@writefile{toc}{\contentsline {section}{\numberline {25.2}Nim game}{237}{section.25.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Analysis}{237}{section.25.2}\protected@file@percent }
\citation{spr35}
\citation{gru39}
\@writefile{toc}{\contentsline {subsubsection}{Misère game}{238}{section.25.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {25.3}SpragueGrundy theorem}{238}{section.25.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Grundy numbers}{238}{section.25.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Subgames}{240}{section.25.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Grundy's game}{240}{section.25.3}\protected@file@percent }
\@setckpt{chapter25}{
\setcounter{page}{242}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{2}
\setcounter{mpfootnote}{0}
\setcounter{part}{3}
\setcounter{chapter}{25}
\setcounter{section}{3}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{3}
\setcounter{Item}{7}
\setcounter{Hfootnote}{42}
\setcounter{bookmark@seq@number}{129}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,53 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {26}String algorithms}{243}{chapter.26}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {26.1}String terminology}{243}{section.26.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {26.2}Trie structure}{244}{section.26.2}\protected@file@percent }
\citation{kar87}
\@writefile{toc}{\contentsline {section}{\numberline {26.3}String hashing}{245}{section.26.3}\protected@file@percent }
\citation{pac13}
\@writefile{toc}{\contentsline {section}{\numberline {26.4}Z-algorithm}{247}{section.26.4}\protected@file@percent }
\citation{gus97}
\citation{mai84}
\@writefile{toc}{\contentsline {subsubsection}{Using the Z-array}{250}{section.26.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Implementation}{250}{section.26.4}\protected@file@percent }
\@setckpt{chapter26}{
\setcounter{page}{251}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{2}
\setcounter{mpfootnote}{0}
\setcounter{part}{3}
\setcounter{chapter}{26}
\setcounter{section}{4}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{13}
\setcounter{Item}{7}
\setcounter{Hfootnote}{44}
\setcounter{bookmark@seq@number}{134}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,52 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {27}Square root algorithms}{251}{chapter.27}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {27.1}Combining algorithms}{252}{section.27.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Case processing}{252}{section.27.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Batch processing}{253}{section.27.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {27.2}Integer partitions}{254}{section.27.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Knapsack}{254}{section.27.2}\protected@file@percent }
\citation{cod15}
\citation{ken06}
\@writefile{toc}{\contentsline {subsubsection}{String construction}{255}{section.27.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {27.3}Mo's algorithm}{255}{section.27.3}\protected@file@percent }
\@setckpt{chapter27}{
\setcounter{page}{257}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{1}
\setcounter{mpfootnote}{0}
\setcounter{part}{3}
\setcounter{chapter}{27}
\setcounter{section}{3}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{13}
\setcounter{Item}{7}
\setcounter{Hfootnote}{45}
\setcounter{bookmark@seq@number}{138}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,51 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {28}Segment trees revisited}{257}{chapter.28}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {28.1}Lazy propagation}{258}{section.28.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Lazy segment trees}{258}{section.28.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Polynomial updates}{260}{section.28.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {28.2}Dynamic trees}{261}{section.28.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Sparse segment trees}{261}{lstnumber.-202.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Persistent segment trees}{262}{lstnumber.-202.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {28.3}Data structures}{263}{section.28.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {28.4}Two-dimensionality}{264}{section.28.4}\protected@file@percent }
\@setckpt{chapter28}{
\setcounter{page}{265}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{3}
\setcounter{chapter}{28}
\setcounter{section}{4}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{5}
\setcounter{Item}{7}
\setcounter{Hfootnote}{45}
\setcounter{bookmark@seq@number}{143}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,53 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {29}Geometry}{265}{chapter.29}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {29.1}Complex numbers}{266}{section.29.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {29.2}Points and lines}{268}{section.29.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Point location}{268}{lstnumber.-208.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Line segment intersection}{269}{lstnumber.-208.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Point distance from a line}{269}{lstnumber.-208.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Point inside a polygon}{270}{lstnumber.-208.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {29.3}Polygon area}{271}{section.29.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Pick's theorem}{272}{section.29.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {29.4}Distance functions}{272}{section.29.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Rotating coordinates}{273}{section.29.4}\protected@file@percent }
\@setckpt{chapter29}{
\setcounter{page}{275}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{3}
\setcounter{chapter}{29}
\setcounter{section}{4}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{4}
\setcounter{Item}{7}
\setcounter{Hfootnote}{45}
\setcounter{bookmark@seq@number}{148}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,48 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {30}Sweep line algorithms}{275}{chapter.30}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {30.1}Intersection points}{276}{section.30.1}\protected@file@percent }
\citation{sha75}
\@writefile{toc}{\contentsline {section}{\numberline {30.2}Closest pair problem}{277}{section.30.2}\protected@file@percent }
\citation{and79}
\@writefile{toc}{\contentsline {section}{\numberline {30.3}Convex hull problem}{278}{section.30.3}\protected@file@percent }
\@setckpt{chapter30}{
\setcounter{page}{280}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{1}
\setcounter{mpfootnote}{0}
\setcounter{part}{3}
\setcounter{chapter}{30}
\setcounter{section}{3}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{4}
\setcounter{Item}{7}
\setcounter{Hfootnote}{46}
\setcounter{bookmark@seq@number}{152}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,110 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\bibcite{aho83}{1}
\bibcite{ahu91}{2}
\bibcite{and79}{3}
\bibcite{asp79}{4}
\bibcite{bel58}{5}
\bibcite{bec07}{6}
\bibcite{ben00}{7}
\bibcite{ben86}{8}
\bibcite{ben80}{9}
\bibcite{bou01}{10}
\bibcite{coci}{11}
\bibcite{cod15}{12}
\bibcite{cor09}{13}
\bibcite{dij59}{14}
\bibcite{dik12}{15}
\bibcite{dim15}{16}
\bibcite{edm65}{17}
\bibcite{edm72}{18}
\bibcite{eve75}{19}
\bibcite{fan94}{20}
\bibcite{fen94}{21}
\bibcite{fis06}{22}
\bibcite{flo62}{23}
\bibcite{for56a}{24}
\bibcite{for56}{25}
\bibcite{fre77}{26}
\bibcite{gal14}{27}
\bibcite{gar79}{28}
\bibcite{goo17}{29}
\bibcite{gro14}{30}
\bibcite{gru39}{31}
\bibcite{gus97}{32}
\bibcite{hal13}{33}
\bibcite{hel62}{34}
\bibcite{hie73}{35}
\bibcite{hoa61a}{36}
\bibcite{hoa61b}{37}
\bibcite{hop71}{38}
\bibcite{hor74}{39}
\bibcite{huf52}{40}
\bibcite{iois}{41}
\bibcite{kar87}{42}
\bibcite{kas61}{43}
\bibcite{ken06}{44}
\bibcite{kle05}{45}
\bibcite{knu982}{46}
\bibcite{knu983}{47}
\bibcite{kru56}{48}
\bibcite{lev66}{49}
\bibcite{mai84}{50}
\bibcite{pac13}{51}
\bibcite{par97}{52}
\bibcite{pea05}{53}
\bibcite{pri57}{54}
\bibcite{q27}{55}
\bibcite{sha75}{56}
\bibcite{sha81}{57}
\bibcite{ski08}{58}
\bibcite{ski03}{59}
\bibcite{main}{60}
\bibcite{spr35}{61}
\bibcite{sta06}{62}
\bibcite{str69}{63}
\bibcite{tar75}{64}
\bibcite{tar79}{65}
\bibcite{tar84}{66}
\bibcite{tem61}{67}
\bibcite{usaco}{68}
\bibcite{war23}{69}
\bibcite{war62}{70}
\@setckpt{list}{
\setcounter{page}{16}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{70}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{1}
\setcounter{chapter}{1}
\setcounter{section}{4}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{9}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{bookmark@seq@number}{7}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,41 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{Preface}{ix}{chapter*.2}\protected@file@percent }
\@setckpt{preface}{
\setcounter{page}{10}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{0}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{lstnumber}{1}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{bookmark@seq@number}{1}
\setcounter{parentequation}{0}
\setcounter{fileFrom}{0}
\setcounter{rankFrom}{0}
\setcounter{fileTo}{0}
\setcounter{rankTo}{0}
\setcounter{ps@inverse}{0}
\setcounter{ps@knightangle}{0}
\setcounter{halfmove}{0}
\setcounter{move}{0}
\setcounter{helpgobble}{0}
\setcounter{helpnumber}{0}
\setcounter{helpnumberMove}{0}
\setcounter{idxcols}{2}
\setcounter{lstlisting}{0}
\setcounter{section@level}{0}
}

View File

@ -1,22 +0,0 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\providecommand\babel@aux[2]{}
\@nameuse{bbl@beforestart}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\@input{chapter14.aux}
\babel@aux{english}{}

View File

@ -1,253 +0,0 @@
# Fdb version 3
["makeindex output/test.idx"] 1612135980 "output/test.idx" "output/test.ind" "output/test" 1612136069
"output/test.idx" 1612136068 411 0f2a82821ae8e8dd68af4c879bba267a "pdflatex"
(generated)
"output/test.ilg"
"output/test.ind"
["pdflatex"] 1612136067 "test.tex" "output/test.pdf" "test" 1612136069
"/etc/texmf/web2c/texmf.cnf" 1604433920 475 c0e671620eb5563b2130f56340a5fde8 ""
"/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc" 1165713224 4850 80dc9bab7f31fb78a000ccfed0e27cab ""
"/usr/share/texlive/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-0.enc" 1558214095 7631 5169ff1acd97ff1c4ab83563c99f96f4 ""
"/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8r.tfm" 1136768653 3220 7b5d1a9569a08754f1bdfbc1c7ad8dbd ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8t.tfm" 1136768653 4708 5672efb2ed6c1b68de999c866a8495e6 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8c.tfm" 1136768653 1336 990dabf7f4b96ad32afebd2a44ddc16b ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm" 1136768653 3824 751120f38c7d75d9c97b0c36843f69c8 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm" 1136768653 5528 f11a9be4ef5afdd9fcc60e3a5281f872 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8r.tfm" 1136768653 4148 d6b2047022c721a25d78978eed00b200 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8t.tfm" 1136768653 6064 8a12cb133dbc46cc2aebc9327349f0ba ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/symbol/psyr.tfm" 1136768653 1408 5937f58aa508ea2cea4901c07d10f5fe ""
"/usr/share/texlive/texmf-dist/fonts/tfm/adobe/zapfding/pzdr.tfm" 1136768653 1528 f853c4d1b4e0550255e02831fdc8496f ""
"/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecss1000.tfm" 1136768653 3584 ab55608ad377891510479d34d90acc46 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecsx1440.tfm" 1136768653 3584 9bd2baa3a21be3460ad52867ca0084f1 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1246382020 916 f87d7c45f9c908e672703b83b72241a3 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" 1246382020 928 2dc8d444221b7a635bb58038579b861a ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" 1246382020 908 2921f8a10601f252058503cc6570e581 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1246382020 940 228d6584342e91276bf566bcf9716b83 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1136768653 1288 655e228510b4c2a1abe905c368440826 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm" 1575236847 588 30b875a179a99eec0f6f0a2540c942c1 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mcl.tfm" 1136768653 620 19c124db3cfab09e2a270e93c0b94c1c ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm" 1575236847 1572 233cc1d2fe9da0b3f64c907e5d58b292 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ml.tfm" 1136768653 1120 281c7872a1f3fc686c053051e921a432 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mlit.tfm" 1136768653 1076 2f8bbd0154a18a0fd665f046ebdfecb3 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ms.tfm" 1136768653 1184 c045430d3c50e3ac06be4ea09e23cd04 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/futr8t.tfm" 1136768653 16984 6d4d92d3efaef5cab6a470d5d5548d56 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm" 1177591358 1368 99619f7bc8a4a375fcb21bf87f7e8b17 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm" 1177591358 1704 843e3f158d760e961a55e682635af76d ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm" 1177591358 1468 cf5c4cb2bf4b2c1807b5813f5820e2dd ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm" 1558214095 1328 8f7396ab15954094ca9576957bd516dd ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/skaknew/SkakNew-Diagram.tfm" 1234978116 728 5bcda46594b54e6701133e5bcfdb07af ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/fourier/fourier-ms.pfb" 1575236847 22238 87e9c1bfb269d3da7d96d9f4df8849d2 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/inconsolata/Inconsolata-zi4r.pfb" 1558214095 55526 184de5d68af8c544d6d1653244a2b006 ""
"/usr/share/texlive/texmf-dist/fonts/type1/urw/ncntrsbk/uncb8a.pfb" 1136849748 48864 96901a485f69890f3d64b5f7b7218eb3 ""
"/usr/share/texlive/texmf-dist/fonts/type1/urw/ncntrsbk/uncr8a.pfb" 1136849748 46830 624e2afdf1987af1003e0fa8f7d5d313 ""
"/usr/share/texlive/texmf-dist/fonts/type1/urw/ncntrsbk/uncri8a.pfb" 1136849748 45832 e347aaf9b53b931665ec33b7dde3a94c ""
"/usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncb8t.vf" 1136768653 2352 364e27135b71dfb69f651531b556c009 ""
"/usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8c.vf" 1136768653 3556 d62234d895fc58316ef3155c185e700f ""
"/usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8t.vf" 1136768653 2348 ea2f0e84361777bc0fecbbff98dffa71 ""
"/usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncri8t.vf" 1136768653 2324 9b16fb95256c525932108ef5cb64f427 ""
"/usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncmii.vf" 1177591358 1364 75e4e4f0dd1b9063a2bbe605af4fccf5 ""
"/usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncsy.vf" 1177591358 1244 3910ad12298c013d192e08240b1b200b ""
"/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b ""
"/usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1575674566 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 ""
"/usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf" 1496785618 7008 9ff5fdcc865b01beca2b0fe4a46231d4 ""
"/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def" 1594674696 109003 5221180ec273789a0ce3162f6932300a ""
"/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty" 1594674696 35557 fd9aed184cb6c2ec71927f6ebd72269d ""
"/usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def" 1589491462 5211 2c3605e674ad86cdc9fdcfcd3de3a1da ""
"/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1576625341 40635 c40361e206be584d448876bba8a64a3b ""
"/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty" 1576016050 33961 6b5c75130e435b2bfdb9f480a09a39f9 ""
"/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty" 1576625273 7734 b98cbb34c81f667027c1e3ebdbfce34b ""
"/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty" 1576625223 8371 9d55b8bd010bc717624922fb3477d92e ""
"/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty" 1583617216 6501 4011d89d9621e0b0901138815ba5ff29 ""
"/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty" 1572645307 1057 525c2192b5febbd8c1f662c9468335bb ""
"/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty" 1575499628 8356 7bbb2c2373aa810be568c29e333da8ed ""
"/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty" 1576625065 31769 002a487f55041f8e805cfbf6385ffd97 ""
"/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1576878844 5412 d5a2436094cd7be85769db90f29250a6 ""
"/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty" 1576624944 13807 952b0226d4efca026f0e19dd266dcc22 ""
"/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1576624883 18552 1e1cc7b75da0dfaacce7cdcb27d306bf ""
"/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty" 1576015897 19007 15924f7228aca6c6d184b115f4baa231 ""
"/usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty" 1593379760 20089 80423eac55aa175305d35b49e04fe23b ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex" 1557692582 992 fb3cda354707a54fda62787a411c7c22 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex" 1546728038 43820 bc6cf5aa959817914ace33f5c6232161 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex" 1557692582 19324 c9a64402f22bd8d81821141a357af653 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex" 1546728038 6038 d639d02574be9a72f3c602c2a3510e02 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex" 1546728038 6948 284bbe3c9a7ca0a826c1c03895e69b9f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex" 1546728038 4883 a6f3eb1f71d8c4affaf43a169828b043 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex" 1546728038 2544 3b1b198fd49f01e328adc9162a07b213 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex" 1576793519 44189 1fd6229dad4c898883516c032f2ca5d2 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex" 1546728038 17311 3092579be20ef0f229c42ad3f09da85c ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex" 1546728038 21302 d6c4b340248adbe650ebf6ca76bdccca ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex" 1562964315 9690 7585efa5a591822837f837bc5bc35621 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex" 1576793519 33335 942ccafe284041918d36e54696b98aa7 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex" 1546728038 2965 502761b60f43ab2de5ecb2f4625163ae ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex" 1546728038 5196 f8c5c775d4d6e2cb050392127cabda72 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex" 1576793519 20726 ed6ec1d6f0f35e7a93de4e79af83dbce ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex" 1557692582 35249 144a6b9c4df4644618bb3a0a40472608 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex" 1546728038 21989 266e83c51fe41eb8b8d5e6896dc71cc1 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex" 1546728038 8842 5cc856e132fac404805c6da091779283 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex" 1546728038 5493 6342997a7484f1ea9feacd1b25ead9ea ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex" 1546728038 321 61aafaff3134e44ce6305fdd6927cdc5 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex" 1546728038 1319 b38e66120927828ef91b8bfec59e82f3 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.shapes.code.tex" 1546728038 315 7c9ae03b83e0861e75800799cbeea591 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.code.tex" 1546728038 770 618a89f4ac550a393f10702d3046162f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarysnakes.code.tex" 1546728038 2732 c03acc4808c036910cff2fb61d6043dd ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex" 1576793519 11544 2a5d66a3270abf4ef673e8a0b7734a90 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex" 1576967981 187592 7922ceab1864698dec4c84978d5b182f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex" 1557692582 8843 8328b4068b5b11eaa173e0957cd0eac5 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex" 1546728038 7474 acce7114514030373cc6cb938a73a92e ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.shapes.code.tex" 1557692582 16467 cc12f9d13de69c013ea68e656fa0a991 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex" 1546728038 7936 1d559f55663b722daf7ce26cef4c3906 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex" 1546728038 32995 a4d54c043ae5274ceaaddeb36ad43a6f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfint.code.tex" 1557692582 3063 8c415c68a0f3394e45cfeca0b65f6ee6 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex" 1557692582 521 c70cf6ad609de83a27ee7929eb356332 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex" 1557692582 13391 933cab19c6d27039dbfc487330d1005a ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex" 1557692582 104938 15f2d8bdabd6bf9ca70f62cd8e3d4940 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex" 1557692582 10157 218d58ab074e5bd0d027de45ec64cc00 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex" 1576793519 28176 568b081ec39645f2db1a29fbd0c635e2 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex" 1562964315 9054 388d21239a1b6df2cc8beaae31c976b0 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex" 1557692582 3865 cddf7ddc80f018587c55afdcc79fc333 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex" 1557692582 3177 27d85c44fbfe09ff3b2cf2879e3ea434 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex" 1557692582 10925 df50b8a6e5660a585e3a2bf55726dcc8 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex" 1562964315 7787 1750fc3f164703caf31fc8ea9218c67e ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex" 1557692582 3379 cbd0948a550bd7a495a160ca6beee9ed ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex" 1557692582 92405 bba89470858d7b0788a9c09331c39653 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex" 1576793519 36526 453db1f8626a56b5ebb0fad496d6a39f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex" 1576793519 8471 b18959397c76e1e582402ab9f592ed9f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.tex" 1557692582 71722 1aa2adb2b5cb7aafc25e92426626ab63 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex" 1576793519 21201 46a4dded6619f990ac7347f99fbaac9f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex" 1557692582 16121 9e240115374a8d489f2f786115df83a9 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex" 1576793519 43259 3e05ba63539916af2eaca603c2eda780 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/pgf.revision.tex" 1578520427 465 1f401ab1e7fc6cb7ede39e96c66531fd ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg" 1557692582 926 70ff613fabeb70f5d1673dc0c93987bd ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def" 1557692582 5546 3586827e6032c95512b2a6682d2979a3 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def" 1562964315 12603 c02869ea216d842c29d52fae8738264e ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex" 1557692582 60269 e86bc0081af83a4ad47e4500ee09a2e4 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex" 1557692582 1896 82c274ff520f9e450ccea4e3ef4edc12 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex" 1557692582 7778 a25a32a10ca820357491d4c7b3ac02ea ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex" 1562964315 23777 cb6c8f02f87d86d621f5cb92c44f4998 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex" 1576793519 36815 f7f1772c398f07af2cb741992963045c ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex" 1562964315 37439 bd44d50aef702b03193f731207931834 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex" 1557692582 4494 7e5ace0ccf59408f2cf63219a5d36927 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex" 1557692582 7250 03b2b9fb5fa38e7ca5cc3c45860fb210 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex" 1576793519 28309 488ccc6c701bbdd1bf671f708757aa5c ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def" 1562964315 6286 1bd76fc45da9929ab2a64f51cba3ab6f ""
"/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1576624663 7008 f92eaa0a3872ed622bbf538217cd2ab7 ""
"/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex" 1417732693 19231 26434a5656c684f5ffb1f26f98006baa ""
"/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex" 1403829539 7677 6f5ce7c1124cad7ec57d05b2562bd8fe ""
"/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty" 1359763108 5949 3f3fd50a8cc94c3d4cbf4fc66cd3df1c ""
"/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty" 1359763108 13829 94730e64147574077f8ecfea9bb69af4 ""
"/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd" 1359763108 961 6518c6525a34feb5e8250ffa91731cff ""
"/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd" 1359763108 961 d02606146ba5601b5645f987c92e6193 ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1523134290 2211 ca7ce284ab93c8eecdc6029dc5ccbd73 ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty" 1523134290 4161 7f6eb9092061a11f87d08ed13515b48d ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty" 1580683321 85660 baee036978c7a91f4e2bba43f05e5945 ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty" 1523134290 4116 32e6abd27229755a83a8b7f18e583890 ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty" 1523134290 2432 8ff93b1137020e8f21930562a874ae66 ""
"/usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty" 1576191570 19336 ce7ae9438967282886b3b036cfad1e4d ""
"/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty" 1576625391 3935 57aa3c3e203a5c2effb4d2bd2efbc323 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/bk12.clo" 1580683321 8283 e1a5378f1428da595f40ba12daa0da23 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/book.cls" 1580683321 23147 87043b6c3ff70b5e5185aee55d462dd7 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty" 1581632200 4947 0c2888dd88121ae675fc6e82213623ba ""
"/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty" 1580683321 5159 892429808d9e0e2b3548aaefd9a06ed0 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty" 1580683321 5050 8933a39ad74377accd18991c5eb90c58 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty" 1580683321 1940 dd4f2aa11c89855a3c47d09758782ba5 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/t1cmss.fd" 1580683321 2622 2e7b4cea91736cafdafba1c0db58bc1c ""
"/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty" 1581112666 2821 2c0928feafd5527387e29a1af774d030 ""
"/usr/share/texlive/texmf-dist/tex/latex/chessfss/chessfss.sty" 1194964306 25613 e00b59d2f1246643105be88cf95ecec1 ""
"/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsbenc.def" 1194964306 6202 1f7cff4a5b7a6122f6f6fbf7fcb63d55 ""
"/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsbskaknew.fd" 1194964306 867 d230716401c7d771813064e277f44168 ""
"/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsfenc.def" 1194964306 1488 c5a7fc250bc3fc663473729648c42782 ""
"/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsfskaknew.fd" 1194964306 978 76cce77b9f4e0a8b051e2270020b9e60 ""
"/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsienc.def" 1194964306 5234 a3e1dd9bc0590363f2e071dff494772e ""
"/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsiskaknew.fd" 1194964306 978 2bb8d1592e40428b112e9f757469ca35 ""
"/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty" 1579991017 10793 d0af3aa11e27ae35ba4685b17597b122 ""
"/usr/share/texlive/texmf-dist/tex/latex/enumitem/enumitem.sty" 1561238569 51697 f8f08183cd2080d9d18a41432d651dfb ""
"/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty" 1579991033 13886 d1306dcf79a944f6988e688c1785f9ce ""
"/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty" 1594851515 45550 25b26e89acd0ac6952aa57218c49823c ""
"/usr/share/texlive/texmf-dist/tex/latex/fourier/fmxfutm.fd" 1583369434 233 5da3aecc2ecc91ad521e14c7ae2b47ed ""
"/usr/share/texlive/texmf-dist/tex/latex/fourier/fourier-orns.sty" 1583369434 4980 755a4f73274e4e8a6794873619c6a5e3 ""
"/usr/share/texlive/texmf-dist/tex/latex/fourier/fourier.sty" 1583369434 15200 abf68c2fd0b8844b873abba24cf03c04 ""
"/usr/share/texlive/texmf-dist/tex/latex/fourier/t1futs.fd" 1137110168 1110 49fc682812e5bf3bf06c16254f321544 ""
"/usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmlfncm.fd" 1177591358 642 1244cf5bf948d4963271409ea88f8543 ""
"/usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmlfncmi.fd" 1177591358 658 38105857d89472be8eed26cc32e6f688 ""
"/usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmsfncm.fd" 1177591358 346 114ff322312f6e62ea484cc7c8a1085d ""
"/usr/share/texlive/texmf-dist/tex/latex/fouriernc/fouriernc.sty" 1177591358 1311 84623040e092276cb869b40b1179dc87 ""
"/usr/share/texlive/texmf-dist/tex/latex/fouriernc/t1fnc.fd" 1177591358 853 bf1a149b86e36dfa4f5900e28e7a599d ""
"/usr/share/texlive/texmf-dist/tex/latex/fouriernc/ts1fnc.fd" 1177591358 673 ef297c63bd6faa9147e47afb97689b1c ""
"/usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty" 1338588508 22449 7ec15c16d0d66790f28e90343c5434a3 ""
"/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty" 1578002852 41601 9cf6c5257b1bc7af01a58859749dd37a ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1459978653 1213 620bba36b25224fa9b7e1ccb4ecb76fd ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1465944070 1224 978390e9c2234eab29404bc21b268d1e ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def" 1585083172 17448 c8e20d5f7e69b0cbecf82ab29daeebd9 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty" 1580683321 16932 04729abe63b66ec59ea56edcd722b058 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty" 1580683321 9067 1b996612394a52e1efe89c8bfe8a5892 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty" 1580683321 2590 e3b24ff953e5b58d924f163d25380312 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty" 1580683321 3976 d7fa7d81d2870d509d25b17d0245e735 ""
"/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty" 1580250785 17914 4c28a13fc3d975e6e81c9bea1d697276 ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def" 1589664343 50570 2e81797743231d9037b0cbe3436d74ba ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty" 1589664343 236775 8ab18a05f69e6caef423fa59cb0af03b ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty" 1579642962 13244 0070bcab7b5a88187847128d22faf4d8 ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def" 1589664343 14134 c11767c54bd7ecab56984ee4e4e3158c ""
"/usr/share/texlive/texmf-dist/tex/latex/idxlayout/idxlayout.sty" 1333316516 7704 9dd52a993a650479419016c60d0b0a2d ""
"/usr/share/texlive/texmf-dist/tex/latex/inconsolata/inconsolata.sty" 1558214095 4327 344b968526dbd149d23066f8b2160aa4 ""
"/usr/share/texlive/texmf-dist/tex/latex/inconsolata/t1zi4.fd" 1516054831 1021 03341d1cf7f388bbac1915f944d5d128 ""
"/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1575152344 22520 c4c2dab203104295e1e618be7e5c0f5b ""
"/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def" 1593552530 24606 ecae4e851ce9ce4554d156050e5057f9 ""
"/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1279039959 678 4792914a8f45be57bb98413425e4c7af ""
"/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty" 1575499565 5766 13a9e8766c47f30327caf893ece86ac8 ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg" 1585170648 1830 e31effa752c61538383451ae21332364 ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty" 1585170648 80964 64e57373f36316e4a09b517cbf1aba2e ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty" 1585170648 204271 bae5b2d457283e99567249c1990510be ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty" 1585170648 77022 ee25ce086f4a79d8cf73bac6f94c02a5 ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-pdftex.def" 1574121697 49144 f65726c0bb1ab4ed492745853eff47bf ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg" 1574121697 24293 cbbba0a351268f01b03f4a3b8b367d3c ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty" 1574121697 71539 3e8331ef062d90caeae5fc7360dcd5bf ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msa.cfg" 1570829597 5893 1a8b936193a3ad84972b7098edd47fb7 ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msb.cfg" 1570829597 5558 8dd91de9252789fb361ad96b452fc4a7 ""
"/usr/share/texlive/texmf-dist/tex/latex/ms/everysel.sty" 1320274502 4623 936bfb87af7b91b6496a2317f80db16b ""
"/usr/share/texlive/texmf-dist/tex/latex/ms/everyshi.sty" 1177890616 3878 6aa7c08ff2621006e0603349e40a30a8 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty" 1546728038 1090 d20f587ea9464d1841bd0d13d3ff9856 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty" 1288312291 410 5bf12ea7330e5f12c445332a4fe9a263 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty" 1546728038 21013 e98e1aaaf40d31632787c2bd25d24b57 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty" 1546728038 989 2cf3da8e8ec55131c49389428d565e37 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty" 1203877327 339 592cf35cba3d400082b8a9a5d0199d70 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty" 1393459310 306 0796eafca5e159e6ec2167a6d22d81b1 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty" 1393459310 443 0b2e781830192df35c0fd357cf13e26e ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty" 1393459310 348 8927fde343487e003b01a4c2ca34073b ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty" 1203727794 274 4cad6e665cc93ac2ac979039a94fa1e1 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty" 1203877327 325 2bcd023400636339210573e2b3ee298b ""
"/usr/share/texlive/texmf-dist/tex/latex/psnfss/pifont.sty" 1586716065 2283 62e73848f29fd8cd37fb7974c7cf2221 ""
"/usr/share/texlive/texmf-dist/tex/latex/psnfss/upsy.fd" 1137110629 148 2da0acd77cba348f34823f44cabf0058 ""
"/usr/share/texlive/texmf-dist/tex/latex/psnfss/upzd.fd" 1137110629 148 b2a94082cb802f90d3daf6dd0c7188a0 ""
"/usr/share/texlive/texmf-dist/tex/latex/ragged2e/ragged2e.sty" 1564521318 9974 f2895af67a8ceb11ae60d6efbed7dc62 ""
"/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty" 1576624809 9878 9e94e8fa600d95f9c7731bb21dfb67a4 ""
"/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1575674187 9715 b051d5b493d9fe5f4bc251462d039e5f ""
"/usr/share/texlive/texmf-dist/tex/latex/skak/skak.sty" 1515536996 63275 280435955f7ca7112859df476a7e3ab3 ""
"/usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty" 1571259403 48596 2b6a95da931c07a430b1a61904aaa42d ""
"/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty" 1580683321 12560 ce3f59ceae9d9a27bfe037d6bf1d903c ""
"/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty" 1580683321 10216 5efd55f2010055e7b7875afd6a75be82 ""
"/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty" 1580683321 31532 04852e45d7c17cb384689d2f83b628d3 ""
"/usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty" 1334873510 1048 517e01cde97c1c0baf72e69d43aa5a2e ""
"/usr/share/texlive/texmf-dist/tex/latex/url/url.sty" 1388531844 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
"/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty" 1463002160 55589 34128738f682d033422ca125f82e5d62 ""
"/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty" 1417732693 4962 9c1069474ff71dbc47d5006555e352d3 ""
"/usr/share/texlive/texmf-dist/tex/plain/lambda-lists/lambda.sty" 1376086551 2562 23a5a0a7c29c93b4624fddec02c87f51 ""
"/usr/share/texlive/texmf-dist/web2c/texmf.cnf" 1596975543 38841 5237427e4d3283e7b009b6a8b45dfdcd ""
"/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-t1.enc" 1565080000 2971 def0b6c1f0b107b3b936def894055589 ""
"/usr/share/texmf/fonts/type1/public/cm-super/sfsx1440.pfb" 1612129071 148301 cb90e68db88ca98c49afbaaab3ac1967 ""
"/usr/share/texmf/web2c/texmf.cnf" 1596975543 38841 5237427e4d3283e7b009b6a8b45dfdcd ""
"/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1612129098 4873311 71a69169e8f25b40365ee00977a83dfd ""
"/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1612129135 2444299 146d04d874979ec1ef6d9cc5e0c9696c ""
"chapter14.tex" 1612122515 19484 d025b8ed332cfaa19713e0a00680c617 ""
"output/chapter14.aux" 1612136068 1951 b813d4094eab12019fd0d8d6bde2d04c "pdflatex"
"output/test.aux" 1612136068 765 39069e72733fef1f254ce6ece8dff63b "pdflatex"
"output/test.ind" 1612135980 537 06972626cef3335693c0b2c537693a2b "makeindex output/test.idx"
"output/test.out" 1612136068 285 61e9df336da8417a88918afc41f9fbcb "pdflatex"
"test.tex" 1612136059 1909 13175ad3a1db2ba9b012815ec9d11679 ""
(generated)
"output/test.out"
"output/chapter14.aux"
"output/test.idx"
"output/test.aux"
"output/test.pdf"
"output/test.log"

View File

@ -1,440 +0,0 @@
PWD /home/bibin/SOI-Leader/git/cphb
INPUT /etc/texmf/web2c/texmf.cnf
INPUT /usr/share/texmf/web2c/texmf.cnf
INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf
INPUT /var/lib/texmf/web2c/pdftex/pdflatex.fmt
INPUT test.tex
OUTPUT ./output/test.log
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/book.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/book.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/bk12.clo
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/bk12.clo
INPUT /usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/ms/everyshi.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/ms/everyshi.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/pgf.revision.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/pgf.revision.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfint.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fouriernc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fouriernc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/fourier.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/fourier.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/t1futs.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/t1futs.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/futr8t.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/fourier-orns.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/fourier-orns.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/t1fnc.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/t1fnc.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/pifont.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/pifont.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/upzd.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/upzd.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/zapfding/pzdr.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/upsy.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/psnfss/upsy.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/symbol/psyr.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/enumitem/enumitem.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/enumitem/enumitem.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/skak/skak.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/skak/skak.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/chessfss.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/chessfss.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsbenc.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsbenc.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsfenc.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsfenc.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsienc.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsienc.def
INPUT /usr/share/texlive/texmf-dist/tex/plain/lambda-lists/lambda.sty
INPUT /usr/share/texlive/texmf-dist/tex/plain/lambda-lists/lambda.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsbskaknew.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsbskaknew.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/skaknew/SkakNew-Diagram.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1cmss.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1cmss.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecss1000.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/inconsolata/inconsolata.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/inconsolata/inconsolata.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypatterns.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibrarypatterns.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarysnakes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarysnakes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.shapes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.shapes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.shapes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.shapes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
OUTPUT ./output/test.idx
INPUT /usr/share/texlive/texmf-dist/tex/latex/idxlayout/idxlayout.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/idxlayout/idxlayout.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/ragged2e/ragged2e.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/ragged2e/ragged2e.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/ragged2e/ragged2e.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/ms/everysel.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/ms/everysel.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
INPUT ./output/test.aux
INPUT ./output/test.aux
INPUT ./output/chapter14.aux
INPUT ./output/chapter14.aux
OUTPUT ./output/test.aux
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmlfncmi.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmlfncmi.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmsfncm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmsfncm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/fmxfutm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fourier/fmxfutm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsfskaknew.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsfskaknew.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsiskaknew.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/chessfss/lsiskaknew.fd
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
INPUT ./output/test.out
INPUT ./output/test.out
INPUT ./output/test.out
INPUT ./output/test.out
OUTPUT ./output/test.pdf
INPUT ./output/test.out
INPUT ./output/test.out
OUTPUT ./output/test.out
INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty
OUTPUT ./output/chapter14.aux
INPUT chapter14.tex
INPUT chapter14.tex
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmii.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncsy.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mex.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmlfncm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/fmlfncm.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fouriernc/fncmi.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-bb.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msa.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msa.cfg
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msb.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/mt-msb.cfg
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncb8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8r.tfm
INPUT /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncb8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncmii.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mlit.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ml.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fouriernc/fncsy.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-ms.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fourier/fourier-mcl.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8t.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/inconsolata/t1zi4.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/inconsolata/t1zi4.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8t.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecsx1440.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-0.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncri8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncri8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncb8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncb8r.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/ts1fnc.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/fouriernc/ts1fnc.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8c.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8c.vf
INPUT /usr/share/texlive/texmf-dist/fonts/vf/adobe/ncntrsbk/pncr8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/adobe/ncntrsbk/pncr8r.tfm
INPUT ./output/test.aux
INPUT ./output/chapter14.aux
INPUT ./output/chapter14.aux
INPUT ./output/test.out
INPUT ./output/test.out
INPUT /usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-t1.enc
INPUT /usr/share/texlive/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-0.enc
INPUT /usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/inconsolata/Inconsolata-zi4r.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/fourier/fourier-ms.pfb
INPUT /usr/share/texmf/fonts/type1/public/cm-super/sfsx1440.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/ncntrsbk/uncb8a.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/ncntrsbk/uncr8a.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/urw/ncntrsbk/uncri8a.pfb

View File

@ -1,12 +0,0 @@
\indexentry{tree|hyperpage}{1}
\indexentry{leaf|hyperpage}{1}
\indexentry{root|hyperpage}{1}
\indexentry{rooted tree|hyperpage}{1}
\indexentry{child|hyperpage}{1}
\indexentry{parent|hyperpage}{1}
\indexentry{subtree|hyperpage}{1}
\indexentry{diameter|hyperpage}{3}
\indexentry{binary tree|hyperpage}{7}
\indexentry{pre-order|hyperpage}{7}
\indexentry{in-order|hyperpage}{7}
\indexentry{post-order|hyperpage}{7}

View File

@ -1,6 +0,0 @@
This is makeindex, version 2.15 [TeX Live 2020] (kpathsea + Thai support).
Scanning input file output/test.idx....done (12 entries accepted, 0 rejected).
Sorting entries....done (50 comparisons).
Generating output file output/test.ind....done (40 lines written, 0 warnings).
Output written in output/test.ind.
Transcript written in output/test.ilg.

View File

@ -1,40 +0,0 @@
\begin{theindex}
\item binary tree, \hyperpage{7}
\indexspace
\item child, \hyperpage{1}
\indexspace
\item diameter, \hyperpage{3}
\indexspace
\item in-order, \hyperpage{7}
\indexspace
\item leaf, \hyperpage{1}
\indexspace
\item parent, \hyperpage{1}
\item post-order, \hyperpage{7}
\item pre-order, \hyperpage{7}
\indexspace
\item root, \hyperpage{1}
\item rooted tree, \hyperpage{1}
\indexspace
\item subtree, \hyperpage{1}
\indexspace
\item tree, \hyperpage{1}
\end{theindex}

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +0,0 @@
\BOOKMARK [0][-]{chapter.1}{Tree algorithms}{}% 1
\BOOKMARK [1][-]{section.1.1}{Tree traversal}{chapter.1}% 2
\BOOKMARK [1][-]{section.1.2}{Diameter}{chapter.1}% 3
\BOOKMARK [1][-]{section.1.3}{All longest paths}{chapter.1}% 4
\BOOKMARK [1][-]{section.1.4}{Binary trees}{chapter.1}% 5

Binary file not shown.

View File

@ -1,12 +0,0 @@
\babel@toc {english}{}
\contentsline {part}{I\hspace {1em}Graph algorithms}{1}{part.1}%
\contentsline {chapter}{\numberline {1}Tree algorithms}{3}{chapter.1}%
\contentsline {section}{\numberline {1.1}Tree traversal}{4}{section.1.1}%
\contentsline {subsubsection}{Dynamic programming}{4}{lstnumber.-2.1}%
\contentsline {section}{\numberline {1.2}Diameter}{5}{section.1.2}%
\contentsline {subsubsection}{Algorithm 1}{5}{section.1.2}%
\contentsline {subsubsection}{Algorithm 2}{6}{section.1.2}%
\contentsline {section}{\numberline {1.3}All longest paths}{7}{section.1.3}%
\contentsline {section}{\numberline {1.4}Binary trees}{9}{section.1.4}%
\contentsline {chapter}{Bibliography}{11}{section*.2}%
\contentsline {chapter}{Index}{17}{chapter*.4}%

View File

@ -2,32 +2,10 @@
\markboth{\MakeUppercase{Preface}}{}
\addcontentsline{toc}{chapter}{Preface}
The purpose of this book is to give you
a thorough introduction to competitive programming.
It is assumed that you already
know the basics of programming, but no previous
background in competitive programming is needed.
This script is based on the Competitive Programmer's Handbook
by Antti Laaksonen.
The book is especially intended for
students who want to learn algorithms and
possibly participate in
the International Olympiad in Informatics (IOI) or
in the International Collegiate Programming Contest (ICPC).
Of course, the book is also suitable for
anybody else interested in competitive programming.
It takes a long time to become a good competitive
programmer, but it is also an opportunity to learn a lot.
You can be sure that you will get
a good general understanding of algorithms
if you spend time reading the book,
solving problems and taking part in contests.
The book is under continuous development.
You can always send feedback on the book to
\texttt{ahslaaks@cs.helsinki.fi}.
\begin{flushright}
Helsinki, August 2019 \\
Antti Laaksonen
\end{flushright}
It contains the topics relevant for the graph day of the
SOI Camp 2021.
Most of the code was modified slightly, and also some minor
adjustments were made on the text.

100
test.tex
View File

@ -1,100 +0,0 @@
\documentclass[twoside,12pt,a4paper,english]{book}
%\includeonly{chapter04,list}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\usepackage[table]{xcolor}
\usepackage{tikz}
\usepackage{multicol}
\usepackage{hyperref}
\usepackage{array}
\usepackage{microtype}
\usepackage{fouriernc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{framed}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{pifont}
\usepackage{ifthen}
\usepackage{makeidx}
\usepackage{enumitem}
\usepackage{titlesec}
\usepackage{skak}
\usepackage[scaled=0.95]{inconsolata}
\usetikzlibrary{patterns,snakes}
\pagestyle{plain}
\definecolor{keywords}{HTML}{44548A}
\definecolor{strings}{HTML}{00999A}
\definecolor{comments}{HTML}{990000}
\lstset{language=C++,frame=single,basicstyle=\ttfamily \small,showstringspaces=false,columns=flexible}
\lstset{
literate={ö}{{\"o}}1
{ä}{{\"a}}1
{ü}{{\"u}}1
}
\lstset{xleftmargin=20pt,xrightmargin=5pt}
\lstset{aboveskip=12pt,belowskip=8pt}
\lstset{
commentstyle=\color{comments},
keywordstyle=\color{keywords},
stringstyle=\color{strings}
}
\date{Draft \today}
\usepackage[a4paper,vmargin=30mm,hmargin=33mm,footskip=15mm]{geometry}
\title{\Huge Competitive Programmer's Handbook}
\author{\Large Antti Laaksonen}
\makeindex
\usepackage[totoc]{idxlayout}
\titleformat{\subsubsection}
{\normalfont\large\bfseries\sffamily}{\thesubsection}{1em}{}
\begin{document}
%\selectlanguage{finnish}
%\setcounter{page}{1}
%\pagenumbering{roman}
%\frontmatter
%\maketitle
%\setcounter{tocdepth}{1}
%\tableofcontents
%\include{preface}
\mainmatter
\pagenumbering{arabic}
\setcounter{page}{1}
\newcommand{\key}[1] {\textbf{#1}}
%\part{Graph algorithms}
\include{chapter14}
%\cleardoublepage
%\phantomsection
%\addcontentsline{toc}{chapter}{Bibliography}
%\include{list}
%\cleardoublepage
%\printindex
\end{document}