main.tex 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. %!TEX TS-program = xelatex
  2. %!TEX encoding = UTF-8 Unicode
  3. % TODO
  4. % factoriser les
  5. % typedef vector<int> VI;
  6. % typedef vector<VI> VVI;
  7. % typedef long long L;
  8. % typedef vector<L> VL;
  9. % typedef vector<VL> VVL;
  10. % typedef pair<int, int> PII;
  11. % typedef vector<PII> VPII;
  12. % enlever les #include, using namespace std
  13. \documentclass[8pt]{extarticle}
  14. \usepackage[a4paper]{geometry}
  15. \usepackage[french]{babel}
  16. \usepackage{amssymb,amsthm,amsmath}
  17. \usepackage{xltxtra}
  18. \usepackage{stmaryrd}
  19. \usepackage{graphicx}
  20. \usepackage{listings}
  21. \usepackage{color}
  22. \lstset{
  23. extendedchars=true,
  24. showstringspaces=false,
  25. escapeinside=``,
  26. keywordstyle=\color{blue},
  27. commentstyle=\color[rgb]{0.133,0.545,0.133},
  28. columns=flexible,
  29. language=C++,
  30. tabsize=2,
  31. basicstyle=\normalsize\selectfont\ttfamily,
  32. numbers=left,
  33. frame=lines,
  34. breaklines=true
  35. }
  36. \geometry{
  37. left=15mm,
  38. right=7mm,
  39. top=7mm,
  40. bottom=15mm
  41. }
  42. \usepackage{multicol}
  43. \setlength{\columnsep}{1cm}
  44. \begin{document}
  45. \tableofcontents
  46. \begin{multicols}{2}
  47. %\chapter{ACM Cookbook}
  48. \section{Algorithmique du texte}
  49. \subsection{Tableaux de suffixes}
  50. Temps de cuisson : $O(n \log^2 n)$
  51. {\scriptsize\lstinputlisting{code/suffix.cpp}} % TODO
  52. \subsection{Knuth-Morris-Pratt}
  53. Temps de cuisson : $O(n)$
  54. {\scriptsize\lstinputlisting{code/kmp.cpp}} % OK
  55. \subsection{Rabin-Karp 2D}
  56. {\scriptsize\lstinputlisting{code/RabinKarp.cpp}} % OK
  57. \subsection{AC Automaton}
  58. {\scriptsize\lstinputlisting{code/ACAutomaton.cpp}} % OK
  59. \section{Optimisation}
  60. \subsection{Sparse max-flow}
  61. {\scriptsize\lstinputlisting{code/Dinic.cc}} % OK % à supprimer ?
  62. \subsection{Min-cost max-flow}
  63. {\scriptsize\lstinputlisting{code/MinCostMaxFlow.cc}} % OK
  64. \subsection{Push-relabel max-flow}
  65. {\scriptsize\lstinputlisting{code/PushRelabel.cc}} % OK
  66. \subsection{Min-cost matching}
  67. {\scriptsize\lstinputlisting{code/MinCostMatching.cc}} % OK
  68. \subsection{Max bipartite matching}
  69. %{\scriptsize\lstinputlisting{code/MaxBipartiteMatching.cc}}
  70. {\scriptsize\lstinputlisting{code/MaxBipartiteMatching_sqrt.cc}} % OK
  71. \subsection{Global min cut}
  72. {\scriptsize\lstinputlisting{code/MinCut.cc}}
  73. \section{Géométrie}
  74. \subsection{Convex hull}
  75. {\scriptsize\lstinputlisting{code/ConvexHull.cc}} % OK
  76. \subsection{Miscellaneous geometry}
  77. {\scriptsize\lstinputlisting{code/Geometry.cc}}
  78. % OK RotateCCW
  79. % OK ComputeSignedArea
  80. \subsection{Slow Delaunay triangulation}
  81. {\scriptsize\lstinputlisting{code/Delaunay.cc}} % TODO chercher algo en N (incremental flip)
  82. \section{Algorithmes numériques}
  83. \subsection{Number theoretic algorithms (modular, Chinese remainder, linear Diophantine)}
  84. {\scriptsize\lstinputlisting{code/Euclid.cc}}
  85. \subsection{Systems of linear equations, matrix inverse, determinant}
  86. {\scriptsize\lstinputlisting{code/GaussJordan.cc}}
  87. \subsection{Reduced row echelon form, matrix rank}
  88. {\scriptsize\lstinputlisting{code/ReducedRowEchelonForm.cc}}
  89. \subsection{Fast Fourier transform}
  90. {\scriptsize\lstinputlisting{code/FFT.cpp}} % OK
  91. \subsection{Simplex algorithm}
  92. {\scriptsize\lstinputlisting{code/Simplex.cc}} % OK
  93. \section{Graphes}
  94. \subsection{Fast Dijkstra's algorithm}
  95. {\scriptsize\lstinputlisting{code/FastDijkstra.cc}}
  96. \subsection{Strongly connected components}
  97. {\scriptsize\lstinputlisting{code/SCC.cc}}
  98. \subsection{DFS/BFS}
  99. {\scriptsize\lstinputlisting{code/BFS_DFS.cpp}} % OK
  100. \section{Structures de données}
  101. \subsection{Suffix arrays}
  102. {\scriptsize\lstinputlisting{code/SuffixArray.cc}} % TODO pourquoi un vector<vector<int>> ? Pourquoi dans le code de Shendan best[20][MAXN] ? Si on garde celui de JJ rajouter RMQ etc
  103. \subsection{Binary Indexed Tree}
  104. {\scriptsize\lstinputlisting{code/BIT.cc}}
  105. \subsection{Union-Find Set}
  106. {\scriptsize\lstinputlisting{code/UnionFind.cc}}
  107. \subsection{KD-tree}
  108. {\scriptsize\lstinputlisting{code/KDTree.cc}}
  109. \subsection{Segment Tree}
  110. {\scriptsize\lstinputlisting{code/SegmentTree.cpp}}
  111. \subsection{Bits Sets}
  112. {\scriptsize\lstinputlisting{code/BitSet.cpp}} % OK
  113. \section{Divers}
  114. \subsection{Longest increasing subsequence}
  115. {\scriptsize\lstinputlisting{code/LongestIncreasingSubsequence.cc}}
  116. \subsection{Maximum rectangle under an histogram / in a matrix}
  117. {\scriptsize\lstinputlisting{code/BiggestRectangle.cpp}}
  118. \subsection{Number of inversions}
  119. {\scriptsize\lstinputlisting{code/Inversion.cpp}} % OK
  120. \subsection{Dichotomie}
  121. {\scriptsize\lstinputlisting{code/Dichotomie.cpp}} % regarder
  122. \subsection{Dates}
  123. {\scriptsize\lstinputlisting{code/Dates.cc}}
  124. \subsection{Prime numbers}
  125. {\scriptsize\lstinputlisting{code/Primes.cc}}
  126. \subsection{Tips}
  127. {\scriptsize\lstinputlisting{code/Tips.cpp}}
  128. \end{multicols}
  129. \end{document}