2016-12-28 23:54:51 +01:00
|
|
|
\documentclass[twoside,12pt,a4paper,english]{book}
|
|
|
|
|
2017-02-21 21:44:05 +01:00
|
|
|
%\includeonly{luku01,kirj}
|
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}
|
|
|
|
|
|
|
|
\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
|
|
|
|
|
|
|
|
\titleformat{\subsubsection}
|
|
|
|
{\normalfont\large\bfseries\sffamily}{\thesubsection}{1em}{}
|
|
|
|
|
|
|
|
\begin{document}
|
|
|
|
|
|
|
|
%\selectlanguage{finnish}
|
|
|
|
|
|
|
|
%\setcounter{page}{1}
|
|
|
|
%\pagenumbering{roman}
|
|
|
|
|
|
|
|
\frontmatter
|
|
|
|
\maketitle
|
|
|
|
\setcounter{tocdepth}{1}
|
|
|
|
\tableofcontents
|
|
|
|
|
|
|
|
\include{johdanto}
|
|
|
|
|
|
|
|
\mainmatter
|
|
|
|
\pagenumbering{arabic}
|
|
|
|
\setcounter{page}{1}
|
|
|
|
|
|
|
|
\newcommand{\key}[1] {\textbf{#1}}
|
|
|
|
|
2016-12-29 19:53:50 +01:00
|
|
|
\part{Basic techniques}
|
2016-12-28 23:54:51 +01:00
|
|
|
\include{luku01}
|
|
|
|
\include{luku02}
|
2016-12-31 12:20:37 +01:00
|
|
|
\include{luku03}
|
2016-12-31 16:36:46 +01:00
|
|
|
\include{luku04}
|
2017-01-01 20:10:21 +01:00
|
|
|
\include{luku05}
|
2017-01-01 23:35:08 +01:00
|
|
|
\include{luku06}
|
2017-01-03 00:09:01 +01:00
|
|
|
\include{luku07}
|
2017-01-03 01:22:11 +01:00
|
|
|
\include{luku08}
|
2017-01-03 22:12:42 +01:00
|
|
|
\include{luku09}
|
2017-01-07 14:42:12 +01:00
|
|
|
\include{luku10}
|
2016-12-28 23:54:51 +01:00
|
|
|
\part{Graph algorithms}
|
2017-01-07 19:51:59 +01:00
|
|
|
\include{luku11}
|
|
|
|
\include{luku12}
|
|
|
|
\include{luku13}
|
2017-01-07 22:33:11 +01:00
|
|
|
\include{luku14}
|
2017-01-08 14:32:06 +01:00
|
|
|
\include{luku15}
|
2017-01-08 16:38:00 +01:00
|
|
|
\include{luku16}
|
2017-01-08 21:21:19 +01:00
|
|
|
\include{luku17}
|
2017-01-09 19:34:07 +01:00
|
|
|
\include{luku18}
|
2017-01-09 20:59:14 +01:00
|
|
|
\include{luku19}
|
2017-01-10 22:58:09 +01:00
|
|
|
\include{luku20}
|
2016-12-28 23:54:51 +01:00
|
|
|
\part{Advanced topics}
|
2017-01-11 20:09:36 +01:00
|
|
|
\include{luku21}
|
2017-01-13 19:06:09 +01:00
|
|
|
\include{luku22}
|
2017-01-14 17:06:48 +01:00
|
|
|
\include{luku23}
|
2017-01-15 14:47:31 +01:00
|
|
|
\include{luku24}
|
2017-01-15 21:04:24 +01:00
|
|
|
\include{luku25}
|
2017-01-24 21:47:45 +01:00
|
|
|
\include{luku26}
|
2017-01-25 22:14:55 +01:00
|
|
|
\include{luku27}
|
2017-01-29 16:57:02 +01:00
|
|
|
\include{luku28}
|
|
|
|
\include{luku29}
|
2017-01-29 18:17:36 +01:00
|
|
|
\include{luku30}
|
2017-02-21 00:17:36 +01:00
|
|
|
\include{kirj}
|
2016-12-28 23:54:51 +01:00
|
|
|
|
|
|
|
\cleardoublepage
|
|
|
|
\printindex
|
|
|
|
|
2017-02-21 00:17:36 +01:00
|
|
|
\end{document}la
|