2016-12-28 23:54:51 +01:00
|
|
|
\documentclass[twoside,12pt,a4paper,english]{book}
|
|
|
|
|
2017-02-26 13:07:53 +01:00
|
|
|
%\includeonly{chapter01,list}
|
2016-12-28 23:54:51 +01:00
|
|
|
|
|
|
|
\usepackage[english]{babel}
|
|
|
|
\usepackage[utf8]{inputenc}
|
|
|
|
\usepackage{listings}
|
|
|
|
\usepackage[table]{xcolor}
|
|
|
|
\usepackage{tikz}
|
|
|
|
\usepackage{multicol}
|
|
|
|
\usepackage{hyperref}
|
|
|
|
\usepackage{array}
|
|
|
|
\usepackage{microtype}
|
|
|
|
|
|
|
|
\usepackage{fouriernc}
|
|
|
|
\usepackage[T1]{fontenc}
|
|
|
|
|
|
|
|
\usepackage{graphicx}
|
|
|
|
\usepackage{framed}
|
|
|
|
\usepackage{amssymb}
|
|
|
|
\usepackage{amsmath}
|
|
|
|
|
|
|
|
\usepackage{pifont}
|
|
|
|
\usepackage{ifthen}
|
|
|
|
\usepackage{makeidx}
|
|
|
|
\usepackage{enumitem}
|
|
|
|
|
|
|
|
\usepackage{titlesec}
|
|
|
|
|
2017-02-26 13:07:53 +01:00
|
|
|
\usepackage{skak}
|
|
|
|
|
2016-12-28 23:54:51 +01:00
|
|
|
\usetikzlibrary{patterns,snakes}
|
|
|
|
\pagestyle{plain}
|
|
|
|
|
|
|
|
\lstset{language=C++,frame=single,basicstyle=\ttfamily \small,showstringspaces=false,columns=flexible}
|
|
|
|
\lstset{
|
|
|
|
literate={ö}{{\"o}}1
|
|
|
|
{ä}{{\"a}}1
|
|
|
|
{ü}{{\"u}}1
|
|
|
|
}
|
|
|
|
\lstset{xleftmargin=20pt,xrightmargin=5pt}
|
|
|
|
\lstset{aboveskip=12pt,belowskip=8pt}
|
|
|
|
|
|
|
|
|
2017-02-18 21:28:59 +01:00
|
|
|
\date{Draft February 2017}
|
2016-12-28 23:54:51 +01:00
|
|
|
|
|
|
|
\usepackage[a4paper,vmargin=30mm,hmargin=33mm,footskip=15mm]{geometry}
|
|
|
|
|
2016-12-29 00:32:31 +01:00
|
|
|
\title{\Huge Competitive Programmer's Handbook}
|
2016-12-28 23:54:51 +01:00
|
|
|
\author{\Large Antti Laaksonen}
|
|
|
|
|
|
|
|
\makeindex
|
2017-02-26 13:07:53 +01:00
|
|
|
\usepackage[totoc]{idxlayout}
|
2016-12-28 23:54:51 +01:00
|
|
|
|
|
|
|
\titleformat{\subsubsection}
|
|
|
|
{\normalfont\large\bfseries\sffamily}{\thesubsection}{1em}{}
|
|
|
|
|
|
|
|
\begin{document}
|
|
|
|
|
|
|
|
%\selectlanguage{finnish}
|
|
|
|
|
|
|
|
%\setcounter{page}{1}
|
|
|
|
%\pagenumbering{roman}
|
|
|
|
|
|
|
|
\frontmatter
|
|
|
|
\maketitle
|
|
|
|
\setcounter{tocdepth}{1}
|
|
|
|
\tableofcontents
|
|
|
|
|
2017-02-26 13:07:53 +01:00
|
|
|
\include{preface}
|
2016-12-28 23:54:51 +01:00
|
|
|
|
|
|
|
\mainmatter
|
|
|
|
\pagenumbering{arabic}
|
|
|
|
\setcounter{page}{1}
|
|
|
|
|
|
|
|
\newcommand{\key}[1] {\textbf{#1}}
|
|
|
|
|
2016-12-29 19:53:50 +01:00
|
|
|
\part{Basic techniques}
|
2017-02-26 13:07:53 +01:00
|
|
|
\include{chapter01}
|
|
|
|
\include{chapter02}
|
|
|
|
\include{chapter03}
|
|
|
|
\include{chapter04}
|
|
|
|
\include{chapter05}
|
|
|
|
\include{chapter06}
|
|
|
|
\include{chapter07}
|
|
|
|
\include{chapter08}
|
|
|
|
\include{chapter09}
|
|
|
|
\include{chapter10}
|
2016-12-28 23:54:51 +01:00
|
|
|
\part{Graph algorithms}
|
2017-02-26 13:07:53 +01:00
|
|
|
\include{chapter11}
|
|
|
|
\include{chapter12}
|
|
|
|
\include{chapter13}
|
|
|
|
\include{chapter14}
|
|
|
|
\include{chapter15}
|
|
|
|
\include{chapter16}
|
|
|
|
\include{chapter17}
|
|
|
|
\include{chapter18}
|
|
|
|
\include{chapter19}
|
|
|
|
\include{chapter20}
|
2016-12-28 23:54:51 +01:00
|
|
|
\part{Advanced topics}
|
2017-02-26 13:07:53 +01:00
|
|
|
\include{chapter21}
|
|
|
|
\include{chapter22}
|
|
|
|
\include{chapter23}
|
|
|
|
\include{chapter24}
|
|
|
|
\include{chapter25}
|
|
|
|
\include{chapter26}
|
|
|
|
\include{chapter27}
|
|
|
|
\include{chapter28}
|
|
|
|
\include{chapter29}
|
|
|
|
\include{chapter30}
|
|
|
|
|
|
|
|
\cleardoublepage
|
|
|
|
\phantomsection
|
|
|
|
\addcontentsline{toc}{chapter}{Bibliography}
|
|
|
|
\include{list}
|
2016-12-28 23:54:51 +01:00
|
|
|
|
|
|
|
\cleardoublepage
|
|
|
|
\printindex
|
|
|
|
|
2017-02-26 13:07:53 +01:00
|
|
|
\end{document}
|