Some fixes

This commit is contained in:
Antti H S Laaksonen 2017-02-26 13:51:38 +02:00
parent 25c948597e
commit 8d55dd7b61
4 changed files with 64 additions and 16 deletions

View File

@ -928,7 +928,7 @@ Google Code Jam and Yandex.Algorithm.
Of course, companies also use those contests for recruiting: Of course, companies also use those contests for recruiting:
performing well in a contest is a good way to prove one's skills. performing well in a contest is a good way to prove one's skills.
\section{Books} \section{Resources}
\subsubsection{Competitive programming books} \subsubsection{Competitive programming books}
@ -937,12 +937,11 @@ concentrate on competitive programming and algorithmic problem solving:
\begin{itemize} \begin{itemize}
\item S. Halim and F. Halim: \item S. Halim and F. Halim:
\emph{Competitive Programming 3: The New Lower Bound of Programming Contests}, 2013 \emph{Competitive Programming 3: The New Lower Bound of Programming Contests} \cite{hal13}
\item S. S. Skiena and M. A. Revilla: \item S. S. Skiena and M. A. Revilla:
\emph{Programming Challenges: The Programming Contest Training Manual}, \emph{Programming Challenges: The Programming Contest Training Manual} \cite{ski03}
Springer, 2003 \item K. Diks et al.: \emph{Looking for a Challenge? The Ultimate Problem Set from
\item \emph{Looking for a Challenge? The Ultimate Problem Set from the University of Warsaw Programming Competitions} \cite{dik12}
the University of Warsaw Programming Competitions}, 2012
\end{itemize} \end{itemize}
The first two books are intended for beginners, The first two books are intended for beginners,
@ -956,9 +955,9 @@ Some good books are:
\begin{itemize} \begin{itemize}
\item T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein: \item T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein:
\emph{Introduction to Algorithms}, MIT Press, 2009 (3rd edition) \emph{Introduction to Algorithms} \cite{cor09}
\item J. Kleinberg and É. Tardos: \item J. Kleinberg and É. Tardos:
\emph{Algorithm Design}, Pearson, 2005 \emph{Algorithm Design} \cite{kle05}
\item S. S. Skiena: \item S. S. Skiena:
\emph{The Algorithm Design Manual}, Springer, 2008 (2nd edition) \emph{The Algorithm Design Manual} \cite{ski08}
\end{itemize} \end{itemize}

View File

@ -103,8 +103,12 @@ is 6, the greedy algorithm produces the solution
$4+1+1$ while the optimal solution is $3+3$. $4+1+1$ while the optimal solution is $3+3$.
It is not known if the general coin problem It is not known if the general coin problem
can be solved using any greedy algorithm. can be solved using any greedy algorithm\footnote{However, it is possible
to \emph{check} in polynomial time
if the greedy algorithm presented in this chapter works for
a given set of coins \cite{pea05}.}.
However, as we will see in Chapter 7, However, as we will see in Chapter 7,
in some cases,
the general problem can be efficiently the general problem can be efficiently
solved using a dynamic solved using a dynamic
programming algorithm that always gives the programming algorithm that always gives the

View File

@ -24,7 +24,9 @@ for finding shortest paths.
\index{BellmanFord algorithm} \index{BellmanFord algorithm}
The \key{BellmanFord algorithm} \cite{bel58} finds the 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 the
shortest paths from a starting node to all shortest paths from a starting node to all
other nodes in the graph. other nodes in the graph.
The algorithm can process all kinds of graphs, The algorithm can process all kinds of graphs,
@ -331,7 +333,9 @@ original BellmanFord algorithm.
\index{Dijkstra's algorithm} \index{Dijkstra's algorithm}
\key{Dijkstra's algorithm} \cite{dij59} finds the shortest \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 the shortest
paths from the starting node to all other nodes, paths from the starting node to all other nodes,
like the BellmanFord algorithm. like the BellmanFord algorithm.
The benefit in Dijsktra's algorithm is that The benefit in Dijsktra's algorithm is that
@ -594,7 +598,9 @@ at most one distance to the priority queue.
\index{FloydWarshall algorithm} \index{FloydWarshall algorithm}
The \key{FloydWarshall algorithm} \cite{flo62} 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}.}
is an alternative way to approach the problem is an alternative way to approach the problem
of finding shortest paths. of finding shortest paths.
Unlike the other algorihms in this chapter, Unlike the other algorihms in this chapter,

View File

@ -38,12 +38,12 @@
\bibitem{ben86} \bibitem{ben86}
J. Bentley. J. Bentley.
\emph{Programming Pearls}. \emph{Programming Pearls}.
Addison-Wesley, 1986. Addison-Wesley, 1999 (2nd edition).
\bibitem{bou01} \bibitem{bou01}
C. L. Bouton. C. L. Bouton.
Nim, a game with a complete mathematical theory. Nim, a game with a complete mathematical theory.
\emph{Annals of Mathematics}, 3(1/4):35--39, 1901. pro \emph{Annals of Mathematics}, 3(1/4):35--39, 1901.
% \bibitem{bur97} % \bibitem{bur97}
% W. Burnside. % W. Burnside.
@ -54,11 +54,20 @@
Codeforces: On ''Mo's algorithm'', Codeforces: On ''Mo's algorithm'',
\url{http://codeforces.com/blog/entry/20032} \url{http://codeforces.com/blog/entry/20032}
\bibitem{cor09}
T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein.
\emph{Introduction to Algorithms}, MIT Press, 2009 (3rd edition).
\bibitem{dij59} \bibitem{dij59}
E. W. Dijkstra. E. W. Dijkstra.
A note on two problems in connexion with graphs. A note on two problems in connexion with graphs.
\emph{Numerische Mathematik}, 1(1):269--271, 1959. \emph{Numerische Mathematik}, 1(1):269--271, 1959.
\bibitem{dik12}
K. Diks et al.
\emph{Looking for a Challenge? The Ultimate Problem Set from
the University of Warsaw Programming Competitions}, University of Warsaw, 2012.
% \bibitem{dil50} % \bibitem{dil50}
% R. P. Dilworth. % R. P. Dilworth.
% A decomposition theorem for partially ordered sets. % A decomposition theorem for partially ordered sets.
@ -104,6 +113,11 @@
Algorithm 97: shortest path. Algorithm 97: shortest path.
\emph{Communications of the ACM}, 5(6):345, 1962. \emph{Communications of the ACM}, 5(6):345, 1962.
\bibitem{for56a}
L. R. Ford.
Network flow theory.
RAND Corporation, Santa Monica, California, 1956.
\bibitem{for56} \bibitem{for56}
L. R. Ford and D. R. Fulkerson. L. R. Ford and D. R. Fulkerson.
Maximal flow through a network. Maximal flow through a network.
@ -152,7 +166,9 @@
% On representatives of subsets. % On representatives of subsets.
% \emph{Journal London Mathematical Society} 10(1):26--30, 1935. % \emph{Journal London Mathematical Society} 10(1):26--30, 1935.
On representatives of subsets. J. London Math. Soc, 10(1), 26-30. \bibitem{hal13}
S. Halim and F. Halim.
\emph{Competitive Programming 3: The New Lower Bound of Programming Contests}, 2013.
\bibitem{hel62} \bibitem{hel62}
M. Held and R. M. Karp. M. Held and R. M. Karp.
@ -198,6 +214,10 @@
Efficient randomized pattern-matching algorithms. Efficient randomized pattern-matching algorithms.
\emph{IBM Journal of Research and Development}, 31(2):249--260, 1987. \emph{IBM Journal of Research and Development}, 31(2):249--260, 1987.
\bibitem{kle05}
J. Kleinberg and É. Tardos.
\emph{Algorithm Design}, Pearson, 2005.
% \bibitem{kas61} % \bibitem{kas61}
% P. W. Kasteleyn. % P. W. Kasteleyn.
% The statistics of dimers on a lattice: I. The number of dimer arrangements on a quadratic lattice. % The statistics of dimers on a lattice: I. The number of dimer arrangements on a quadratic lattice.
@ -247,6 +267,11 @@
% \emph{Sitzungsberichte des deutschen naturwissenschaftlich-medicinischen Vereines % \emph{Sitzungsberichte des deutschen naturwissenschaftlich-medicinischen Vereines
% für Böhmen "Lotos" in Prag. (Neue Folge)}, 19:311--319, 1899. % für Böhmen "Lotos" in Prag. (Neue Folge)}, 19:311--319, 1899.
\bibitem{pea05}
D. Pearson.
A polynomial-time algorithm for the change-making problem.
\emph{Operations Research Letters}, 33(3):231--234, 2005.
\bibitem{pri57} \bibitem{pri57}
R. C. Prim. R. C. Prim.
Shortest connection networks and some generalizations. Shortest connection networks and some generalizations.
@ -271,6 +296,15 @@
A strong-connectivity algorithm and its applications in data flow analysis. A strong-connectivity algorithm and its applications in data flow analysis.
\emph{Computers \& Mathematics with Applications}, 7(1):67--72, 1981. \emph{Computers \& Mathematics with Applications}, 7(1):67--72, 1981.
\bibitem{ski08}
S. S. Skiena.
\emph{The Algorithm Design Manual}, Springer, 2008 (2nd edition).
\bibitem{ski03}
S. S. Skiena and M. A. Revilla.
\emph{Programming Challenges: The Programming Contest Training Manual},
Springer, 2003.
\bibitem{spr35} \bibitem{spr35}
R. Sprague. R. Sprague.
Über mathematische Kampfspiele. Über mathematische Kampfspiele.
@ -306,6 +340,11 @@
\emph{Des Rösselsprunges einfachste und allgemeinste Lösung}. \emph{Des Rösselsprunges einfachste und allgemeinste Lösung}.
Schmalkalden, 1823. Schmalkalden, 1823.
\bibitem{war62}
S. Warshall.
A theorem on boolean matrices.
\emph{Journal of the ACM}, 9(1):11--12, 1962.
% \bibitem{zec72} % \bibitem{zec72}
% E. Zeckendorf. % E. Zeckendorf.
% Représentation des nombres naturels par une somme de nombres de Fibonacci ou de nombres de Lucas. % Représentation des nombres naturels par une somme de nombres de Fibonacci ou de nombres de Lucas.