-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.tex
More file actions
96 lines (85 loc) · 4.74 KB
/
main.tex
File metadata and controls
96 lines (85 loc) · 4.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
\documentclass[10pt,twocolumn,oneside]{article}
\usepackage{preamble}
\begin{document}
\pagestyle{fancy}
\fancyfoot{}
\fancyhead[L]{Saratov State University: Afanasyev, Martyanov, Slepov}
\fancyhead[R]{\thepage}
\section{Шаблон}
\inputminted[breaklines]{cpp}{Scripts/min_template.cpp}
\section{Базовые алгоритмы}
\subsection{Поиск двух максимумов}
\inputminted[breaklines]{cpp}{Scripts/Basic algorithms/find_two_max.cpp}
\subsection{Поиск суммы на отрезке}
\inputminted[breaklines]{cpp}{Scripts/Basic algorithms/segment_sum.cpp}
\subsection{Операция прибавления к отрезку}
\inputminted[breaklines]{cpp}{Scripts/Basic algorithms/add_to_segment.cpp}
\subsection{Бинарный поиск}
\inputminted[breaklines]{cpp}{Scripts/Basic algorithms/binary_search.cpp}
\subsection{Поиск первой 1 в неубывающей булевой функции}
\inputminted[breaklines]{cpp}{Scripts/Basic algorithms/find_first_true.cpp}
\subsection{Поиск последнего 0 в неубывающей булевой функции}
\inputminted[breaklines]{cpp}{Scripts/Basic algorithms/find_last_false.cpp}
\section{Теория чисел}
\subsection{Факторизация}
\inputminted[breaklines]{cpp}{Scripts/Number theory/factorization.cpp}
\subsection{Решето Эратосфена}
\inputminted[breaklines]{cpp}{Scripts/Number theory/sieve_of_erat.cpp}
\subsection{Факторизация с использованием решета Эратосфена}
\inputminted[breaklines]{cpp}{Scripts/Number theory/factorization_with_sieve.cpp}
\subsection{Получение делителей из факторизации}
\inputminted[breaklines]{cpp}{Scripts/Number theory/get_divs_from_factorization.cpp}
\subsection{Получение делителей с помощью гармонического ряда}
\inputminted[breaklines]{cpp}{Scripts/Number theory/get_divs_with_harmonic_series.cpp}
\section{Комбинаторика}
\subsection{Массив обратных факториалов}
\inputminted[breaklines]{cpp}{Scripts/Combinatorics/inverse_factorials.cpp}
\subsection{Перебор перестановок длины $n$}
\inputminted[breaklines]{cpp}{Scripts/Combinatorics/brute_permutations.cpp}
\section{Теория графов}
\subsection{DFS}
\inputminted[breaklines]{cpp}{Scripts/Graph theory/dfs.cpp}
\subsection{BFS}
\inputminted[breaklines]{cpp}{Scripts/Graph theory/bfs.cpp}
\subsection{Топологическая сортировка в ацикличном графе}
\inputminted[breaklines]{cpp}{Scripts/Graph theory/top_sort.cpp}
\subsection{Поиск мостов}
\inputminted[breaklines]{cpp}{Scripts/Graph theory/bridges_search.cpp}
\subsection{Поиск точек сочленения}
\inputminted[breaklines]{cpp}{Scripts/Graph theory/cutpoints_search.cpp}
\subsection{Алгоритм Дейкстры за $O(m\log{m})$}
\inputminted[breaklines]{cpp}{Scripts/Graph theory/dijkstra.cpp}
\subsection{Алгоритм Дейкстры за $O(n^2 + m)$}
\inputminted[breaklines]{cpp}{Scripts/Graph theory/dijkstra2.cpp}
\subsection{Алгоритм Беллмана-Форда $O(n \cdot m)$}
\inputminted[breaklines]{cpp}{Scripts/Graph theory/bellman_ford.cpp}
\section{Динамика}
\subsection{Поиск НВП динамикой вперёд}
\inputminted[breaklines]{cpp}{Scripts/Dynamics/nvp_forward.cpp}
\subsection{Поиск НВП динамикой назад}
\inputminted[breaklines]{cpp}{Scripts/Dynamics/nvp_back.cpp}
\subsection{Поиск НВП ленивой динамикой}
\inputminted[breaklines]{cpp}{Scripts/Dynamics/nvp_lazy.cpp}
\subsection{Поиск НВП + восстановление сертификата}
\inputminted[breaklines]{cpp}{Scripts/Dynamics/nvp_certificate_recovery.cpp}
\subsection{Поиск НВП за $O(n \cdot \max(a))$}
\inputminted[breaklines]{cpp}{Scripts/Dynamics/nvp_fast.cpp}
\subsection{Поиск НОП}
\inputminted[breaklines]{cpp}{Scripts/Dynamics/nop.cpp}
\subsection{Рюкзак}
\inputminted[breaklines]{cpp}{Scripts/Dynamics/knapsack.cpp}
\subsection{Рюкзак со стоимостями}
\inputminted[breaklines]{cpp}{Scripts/Dynamics/knapsack_with_prices.cpp}
\section{Строковые алгоритмы}
\subsection{Z-функция}
\inputminted[breaklines]{cpp}{Scripts/String algorithms/z_function.cpp}
\subsection{Префикс-функция}
\inputminted[breaklines]{cpp}{Scripts/String algorithms/prefix_function.cpp}
\section{Структуры данных}
\subsection{DSU}
\inputminted[breaklines]{cpp}{Scripts/Data structures/dsu.cpp}
\subsection{Бор}
\inputminted[breaklines]{cpp}{Scripts/Data structures/trie.cpp}
\section{Формулы}
\input{formulas.txt}
\end{document}