main.tex 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. %!TEX TS-program = xelatex
  2. %!TEX encoding = UTF-8 Unicode
  3. \documentclass[12pt]{article}
  4. \usepackage[a5paper,margin=2cm]{geometry}
  5. \usepackage[french]{babel}
  6. \usepackage{amssymb,amsthm,amsmath}
  7. \usepackage{xltxtra}
  8. \usepackage{stmaryrd}
  9. \usepackage{graphicx}
  10. \usepackage{listings}
  11. \usepackage{color}
  12. \lstset{
  13. extendedchars=false,
  14. showstringspaces=false,
  15. escapeinside=``,
  16. keywordstyle=\color{blue},
  17. commentstyle=\color[rgb]{0.133,0.545,0.133},
  18. columns=flexible,
  19. language=C++,
  20. tabsize=4,
  21. basicstyle=\ttfamily,
  22. numbers=left,
  23. frame=lines
  24. }
  25. \begin{document}
  26. \tableofcontents\vspace{0.5cm}
  27. \begin{center}
  28. \includegraphics[width=0.8\linewidth]{np.jpg}
  29. \end{center}
  30. %\chapter{ACM Cookbook}
  31. \section{Algorithmique du texte}
  32. \subsection{Tableaux de suffixes}
  33. Temps de cuisson : $O(n \log^2 n)$
  34. {\scriptsize\lstinputlisting{code/suffix.cpp}}
  35. \subsection{Knuth-Morris-Pratt}
  36. Temps de cuisson : $O(n)$
  37. {\scriptsize\lstinputlisting{code/kmp.cpp}}
  38. \section{Optimisation}
  39. \subsection{Sparse max-flow}
  40. {\scriptsize\lstinputlisting{code/Dinic.cc}}
  41. \subsection{Min-cost max-flow}
  42. {\scriptsize\lstinputlisting{code/MinCostMaxFlow.cc}}
  43. \subsection{Push-relabel max-flow}
  44. {\scriptsize\lstinputlisting{code/PushRelabel.cc}}
  45. \subsection{Min-cost matching}
  46. {\scriptsize\lstinputlisting{code/MinCostMatching.cc}}
  47. \subsection{Max bipartite matching}
  48. {\scriptsize\lstinputlisting{code/MaxBipartiteMatching.cc}}
  49. \subsection{Global min cut}
  50. {\scriptsize\lstinputlisting{code/MinCut.cc}}
  51. \section{Géométrie}
  52. \subsection{Convex hull}
  53. {\scriptsize\lstinputlisting{code/ConvexHull.cc}}
  54. \subsection{Miscellaneous geometry}
  55. {\scriptsize\lstinputlisting{code/Geometry.cc}}
  56. \subsection{Slow Delaunay triangulation}
  57. {\scriptsize\lstinputlisting{code/Delaunay.cc}}
  58. \section{Algorithmes numériques}
  59. \subsection{Number theoretic algorithms (modular, Chinese remainder, linear Diophantine)}
  60. {\scriptsize\lstinputlisting{code/Euclid.cc}}
  61. \subsection{Systems of linear equations, matrix inverse, determinant}
  62. {\scriptsize\lstinputlisting{code/GaussJordan.cc}}
  63. \subsection{Reduced row echelon form, matrix rank}
  64. {\scriptsize\lstinputlisting{code/ReducedRowEchelonForm.cc}}
  65. \subsection{Fast Fourier transform}
  66. {\scriptsize\lstinputlisting{code/FFT_new.cc}}
  67. \subsection{Simplex algorithm}
  68. {\scriptsize\lstinputlisting{code/Simplex.cc}}
  69. \section{Graphes}
  70. \subsection{Fast Dijkstra's algorithm}
  71. {\scriptsize\lstinputlisting{code/FastDijkstra.cc}}
  72. \subsection{Strongly connected components}
  73. {\scriptsize\lstinputlisting{code/SCC.cc}}
  74. \section{Structures de données}
  75. \subsection{Suffix arrays}
  76. {\scriptsize\lstinputlisting{code/SuffixArray.cc}}
  77. \subsection{Binary Indexed Tree}
  78. {\scriptsize\lstinputlisting{code/BIT.cc}}
  79. \subsection{Union-Find Set}
  80. {\scriptsize\lstinputlisting{code/UnionFind.cc}}
  81. \subsection{KD-tree}
  82. {\scriptsize\lstinputlisting{code/KDTree.cc}}
  83. \section{Divers}
  84. \subsection{Longest increasing subsequence}
  85. {\scriptsize\lstinputlisting{code/LongestIncreasingSubsequence.cc}}
  86. \subsection{Dates}
  87. {\scriptsize\lstinputlisting{code/Dates.cc}}
  88. \subsection{Prime numbers}
  89. {\scriptsize\lstinputlisting{code/Primes.cc}}
  90. \end{document}