forked from parallelcc/Template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
template.tex
212 lines (199 loc) · 6.98 KB
/
template.tex
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
\documentclass[a4paper,6pt]{article}
\usepackage{xeCJK}
\usepackage{verbatim}
\usepackage{geometry} % 页边距
\geometry{left=2.0cm,right=2.0cm,top=2.5cm,bottom=2.5cm}
\usepackage{fancyhdr} % 页眉页脚
\usepackage{minted} % 代码高亮
\usepackage[colorlinks]{hyperref} % 目录可跳转
\setlength{\headheight}{15pt}
% 定义页眉页脚
\pagestyle{fancy}
\fancyhf{}
\fancyhead[C]{ACM Template by Parallelc}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\author{Parallelc}
\title{ACM Template}
\begin{document}
\begin{titlepage}
\maketitle
\thispagestyle{empty}
\vspace*{100pt}
\inputminted[breaklines]{c++}{other/vim.txt}
\end{titlepage}
\newpage
\tableofcontents
\newpage
\section{图论}
\subsection{拓扑排序}
\inputminted[breaklines]{c++}{graph-theory/topsort.cpp}
\subsection{最小生成树}
\subsubsection{Prim堆优化}
\inputminted[breaklines]{c++}{graph-theory/MST/Prim+heap.cpp}
\subsubsection{Kruskal}
\inputminted[breaklines]{c++}{graph-theory/MST/Kruskal.cpp}
\subsection{最短路}
\subsubsection{Dijkstra堆优化}
\inputminted[breaklines]{c++}{graph-theory/short-path/Dijkstra+heap.cpp}
\subsubsection{SPFA}
\inputminted[breaklines]{c++}{graph-theory/short-path/spfa.cpp}
\subsubsection{k短路}
\inputminted[breaklines]{c++}{graph-theory/short-path/k-short.cpp}
\subsection{网络流}
\subsubsection{最大流}
\inputminted[breaklines]{c++}{graph-theory/network-flows/dinic.cpp}
\subsubsection{费用流}
\inputminted[breaklines]{c++}{graph-theory/network-flows/minCostMaxflow.cpp}
\subsection{二分图匹配}
\subsubsection{匈牙利算法}
\paragraph{(1) DFS}
\inputminted[breaklines]{c++}{graph-theory/bipartite-graph/hungary-dfs.cpp}
\paragraph{(2) BFS}
\inputminted[breaklines]{c++}{graph-theory/bipartite-graph/hungary-bfs.cpp}
\subsubsection{最大权匹配}
\inputminted[breaklines]{c++}{graph-theory/bipartite-graph/KM.cpp}
\subsection{最近公共祖先}
\subsubsection{ST}
\inputminted[breaklines]{c++}{graph-theory/LCA/ST.cpp}
\subsubsection{倍增}
\inputminted[breaklines]{c++}{graph-theory/LCA/doubly.cpp}
\subsubsection{tarjan}
\inputminted[breaklines]{c++}{graph-theory/LCA/tarjan.cpp}
\subsection{dfs序}
\inputminted[breaklines]{c++}{graph-theory/dfsx.cpp}
\subsection{树链剖分}
\inputminted[breaklines]{c++}{graph-theory/HLD.cpp}
\subsection{连通性}
\subsubsection{割点-桥}
\inputminted[breaklines]{c++}{graph-theory/connect/cut-bridge.cpp}
\subsubsection{点双连通分量}
\inputminted[breaklines]{c++}{graph-theory/connect/point-DCC.cpp}
\subsubsection{边双连通分量}
\inputminted[breaklines]{c++}{graph-theory/connect/edge-DCC.cpp}
\subsubsection{有向图强连通分量}
\inputminted[breaklines]{c++}{graph-theory/connect/DG-tarjan.cpp}
\subsubsection{2sat}
\inputminted[breaklines]{c++}{graph-theory/connect/2sat.cpp}
\newpage
\section{数论}
\subsection{快速幂}
\inputminted[breaklines]{c++}{math/quickpow.cpp}
\subsection{矩阵快速幂}
\inputminted[breaklines]{c++}{math/matrix-quickpow.cpp}
\subsection{组合数取模}
\inputminted[breaklines]{c++}{math/Cmod.cpp}
\subsection{斯特林数}
\inputminted[breaklines]{c++}{math/Stirling.cpp}
\subsection{素数打表}
\inputminted[breaklines]{c++}{math/prime-table.cpp}
\subsection{逆元}
\inputminted[breaklines]{c++}{math/inverse.cpp}
\subsection{逆元打表}
\inputminted[breaklines]{c++}{math/all-inverse.cpp}
\subsection{不定方程}
\inputminted[breaklines]{c++}{math/indeterminate-equation.cpp}
\subsection{中国剩余定理}
\inputminted[breaklines]{c++}{math/CRT.cpp}
\subsection{高斯消元}
\inputminted[breaklines]{c++}{math/Gauss-elim.cpp}
\subsection{容斥原理}
\inputminted[breaklines]{c++}{math/inclusion-exclusion.cpp}
\subsection{1-n异或和}
\inputminted[breaklines]{c++}{math/xor_n.cpp}
\subsection{BM}
\inputminted[breaklines]{c++}{math/Berlekamp-Massey.cpp}
\subsection{线性递推}
\inputminted[breaklines]{c++}{math/Linear_Seq.cpp}
\subsection{FFT}
\inputminted[breaklines]{c++}{math/fft.cpp}
\subsection{NTT}
\inputminted[breaklines]{c++}{math/ntt.cpp}
\subsection{Java大数}
\inputminted[breaklines]{java}{math/Main.java}
\subsection{多项式}
\inputminted[breaklines]{c++}{math/polynomial.cpp}
\subsection{素数个数$n^{\frac{3}{4}}$}
\inputminted[breaklines]{c++}{math/short-prime-num.cpp}
\subsection{素数个数$n^{\frac{2}{3}}$}
\inputminted[breaklines]{c++}{math/prime-num.cpp}
\subsection{等比数列求和}
\inputminted[breaklines]{c++}{math/Geometric-sequence-sum.cpp}
\subsection{自然数幂和}
\inputminted[breaklines]{c++}{math/sum-of-n^k.cpp}
\newpage
\section{数据结构}
\subsection{树状数组}
\inputminted[breaklines]{c++}{data-structure/BIT.cpp}
\subsection{二维树状数组}
\inputminted[breaklines]{c++}{data-structure/2-BIT.cpp}
\subsection{线段树}
\inputminted[breaklines]{c++}{data-structure/segment-tree.cpp}
\subsection{可持久化线段树}
\inputminted[breaklines]{c++}{data-structure/persistence-tree-tag.cpp}
\subsection{主席树}
\inputminted[breaklines]{c++}{data-structure/chairman-tree.cpp}
\subsection{Treap}
\inputminted[breaklines]{c++}{data-structure/Treap.cpp}
\subsection{可持久化并查集}
\inputminted[breaklines]{c++}{data-structure/rope-bcj.cpp}
\subsection{分块}
\inputminted[breaklines]{c++}{data-structure/Part_Blocks.cpp}
\subsection{莫队算法}
\inputminted[breaklines]{c++}{data-structure/Mo.cpp}
\newpage
\section{字符串}
\subsection{KMP}
\inputminted[breaklines]{c++}{string/KMP.cpp}
\subsection{shift-or}
\inputminted[breaklines]{c++}{string/shift-or.cpp}
\subsection{哈希}
\inputminted[breaklines]{c++}{string/hash.cpp}
\subsection{最小表示法}
\inputminted[breaklines]{c++}{string/min-represent.cpp}
\subsection{子序列匹配}
\inputminted[breaklines]{c++}{string/subseq.cpp}
\newpage
\section{动态规划}
\subsection{最长公共子序列}
\inputminted[breaklines]{c++}{dynamic-programming/LCS.cpp}
\subsection{最长上升子序列}
\inputminted[breaklines]{c++}{dynamic-programming/LIS-nlogn.cpp}
\subsection{区间最值}
\inputminted[breaklines]{c++}{dynamic-programming/RMQ.cpp}
\subsection{背包}
\subsubsection{01背包}
\inputminted[breaklines]{c++}{dynamic-programming/bags/01.cpp}
\subsubsection{超大01背包}
\inputminted[breaklines]{c++}{dynamic-programming/bags/big-01.cpp}
\subsubsection{完全背包}
\inputminted[breaklines]{c++}{dynamic-programming/bags/complete.cpp}
\newpage
\section{类}
\subsection{大整数类}
\inputminted[breaklines]{c++}{class/BigInt.cpp}
\subsection{分数类}
\inputminted[breaklines]{c++}{class/Frac.cpp}
\subsection{矩阵类}
\inputminted[breaklines]{c++}{class/Matrix.cpp}
\newpage
\section{计算几何}
\inputminted[breaklines]{c++}{geometry.cpp}
\newpage
\section{搜索}
\subsection{A*}
\inputminted[breaklines]{c++}{search/Astar.cpp}
\subsection{模拟退火}
\inputminted[breaklines]{c++}{search/SA.cpp}
\newpage
\section{其他}
\subsection{读入挂}
\inputminted[breaklines]{c++}{other/fastIO.cpp}
\subsection{离散化}
\inputminted[breaklines]{c++}{other/LSH.cpp}
\subsection{编译优化}
\inputminted[breaklines]{c++}{other/Ofast.cpp}
\subsection{扩展}
\inputminted[breaklines]{c++}{other/ext.cpp}
\end{document}