From 9d3c8c0e6e1a7ba43bf3dc19350d1dca68b657a3 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Sun, 10 Feb 2019 11:16:07 +0800 Subject: Initial commit. --- sduacm2017/lec3/lec.tex | 241 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 241 insertions(+) create mode 100644 sduacm2017/lec3/lec.tex (limited to 'sduacm2017/lec3/lec.tex') diff --git a/sduacm2017/lec3/lec.tex b/sduacm2017/lec3/lec.tex new file mode 100644 index 0000000..990c6e5 --- /dev/null +++ b/sduacm2017/lec3/lec.tex @@ -0,0 +1,241 @@ +\documentclass[aspectratio=169,hyperref={pdfencoding=auto,psdextra}]{beamer} +\usepackage[utf8]{inputenc} +\usepackage{CJKutf8} +\usepackage{ulem} +\usepackage{graphicx} +\usepackage{fancyvrb} +\usepackage{amsmath} +\usepackage{multicol} +\usetheme{Malmoe} +\usecolortheme{default} +\begin{CJK*}{UTF8}{gbsn} +\title{「初中数学都不会」} +\subtitle{——Computational Geometrics} +\author{Chris Xiong} +\date{2017-08-18} +\begin{document} + \frame{\titlepage} + \begin{frame} + \frametitle{「初中数学都不会」} + \framesubtitle{Outline} + \begin{itemize} + \item Basics + \begin{itemize} + \item Vectors + \item Distances + \item Area + \item Intersections + \item Transformations + \end{itemize} + \item Convex hull + \item Extra fun + \item Templates + \item 殴打宇宙智障 + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{Basics} + \framesubtitle{Vectors} + \begin{itemize} + \item Computational Gemoetrics in ICPC=\\ + \hspace{1cm}40\% Junior high school maths+\\ + \hspace{1cm}30\% Senior high school maths+\\ + \hspace{1cm}20\% Brainstorming+\\ + \hspace{1cm}10\% College maths + \item $\mathbf{u}$, $\mathbf{v}$, $\vec{u}$, $\vec{v}$ + \item $\vec{u}+\vec{v}$,$\vec{u}-\vec{v}$,$s\vec{u}$,$\vec{u}\cdot\vec{v}$,$\vec{u}\times\vec{v}$ + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{Basics} + \framesubtitle{Distances} + \begin{itemize} + \item point 2 point + \item point 2 line + \pause + \item polygon 2 polygon??? + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{Basics} + \framesubtitle{Area} + \begin{itemize} + \item Circle??? + \item Triangle? + \begin{itemize} + \item \sout{$ah/2$} + \item Heron's formula + \item Cross product + \end{itemize} + \item Polygon??? + \begin{itemize} + \item Slicing + \end{itemize} + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{Basics} + \framesubtitle{Intersections} + \begin{itemize} + \item point \& line + \item point \& segment + \item line \& line + \item line \& segment + \item segment \& segment + \item circle \& line + \item circle \& circle + \pause + \item \sout{convex} polygon \& point \pause + \begin{itemize} + \item \sout{randomizing} (polyhedron) + \item ray casting + \item winding number + \end{itemize} + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{Basics} + \framesubtitle{Transformations} + \begin{itemize} + \item Scaling + \item Rotation + \item ${\displaystyle {\begin{bmatrix}s_x&0\\0&s_y\end{bmatrix}}}$ + \item ${\displaystyle {{\begin{bmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \end{bmatrix}}}}$ + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{Convex hull} + \framesubtitle{WTF???} + \begin{itemize} + \item Smallest convex polygon (set) that contains a set of points. + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{Convex hull} + \framesubtitle{Algorithms} + \begin{itemize} + \item Brute force: gift wrapping + \item Graham scan + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{Convex hull} + \framesubtitle{Gift wrapping} + \begin{itemize} + \item The left most point must be in the resulting set + \item Starting from that point, select the next point such that + all points are \textbf{to the right} of the newly formed line. + \item Time complexity: $O(nh)$ + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{Convex hull} + \framesubtitle{Graham scan} + \begin{itemize} + \item Find an extreme point and sort the remaining point according + to polar angle. + \item Start with a stack with two items, the extreme point and the + first point in the sorted list. + \item ($P_0$ denotes the top element of the stack, $P_1$ denotes the + element under $P_0$) For each point left in the list ($T$), pop the + stack until $\overrightarrow{P_1P_0}$ and $\overrightarrow{P_0T}$ forms + \textbf{a left turn}. Then push $T$ onto the stack. + \item Time complexity: $O(n log n)$ (with sorting) + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{Convex hull} + \framesubtitle{Example: NEERC 08 A} + \end{frame} + \begin{frame} + \frametitle{Extra fun} + \framesubtitle{Example: PetrSU SC 04 C} + Arc-arc intersection + \includegraphics[scale=0.5]{c1.png} + \end{frame} + \begin{frame} + \frametitle{Extra fun} + \framesubtitle{Example: PetrSU SC 04 C} + \includegraphics[scale=0.36]{c2.png} + \end{frame} + \begin{frame} + \frametitle{Extra fun} + \framesubtitle{Example: MultiUniversity Traning 20170815 H} + \end{frame} + \begin{frame} + \frametitle{Extra fun} + \framesubtitle{Example: Asia GuangzhouRC 14 H} + \end{frame} + \begin{frame} + \frametitle{Extra fun} + \framesubtitle{Example: "Angry birds"} + One of the few problems of computational geometrics in ICPC + that involves college maths. + \end{frame} + \begin{frame} + \frametitle{Extra fun} + \framesubtitle{CG. Combined with other algorithms} + \end{frame} + \begin{frame} + \frametitle{Extra fun} + \framesubtitle{Rotating calipers} + Solves: + \begin{itemize} + \item Max/min width of convex polygon + \item Max/min distance between two convex polygons + \item Antipodal points/Farthest pairs + \item Union/intersection of convex polygons + \item Min area/perimeter obb + \item etc. + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{Templates} + \framesubtitle{Critical for Computational Geometrics (maybe)} + \begin{itemize} + \item Basic operations + \item Basic intersections + \item Circle-line intersection + \item Circle-triangle intersection + \item Circle-circle intersection + \item 3D vector operations + \item Half-plane intersection + \item Cloest/Farthest Pair + \item etc. + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{殴打宇宙智障} + \framesubtitle{光辉事迹+1} + \begin{itemize} + \item 建完图后把图清空然后跑网络流\pause + \item 熟悉你的模板\pause + \item 多校睡觉\pause + \item 队伍组成 + \item 代码手?\pause + \item 违反中央八项规定\pause + \item 口技 + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{殴打宇宙智障} + \framesubtitle{后事} + \begin{itemize} + \item 21日最后一次讲课 + \item 8月31日计科退宿舍 + \item 如有不同以宇宙智障为准 + \end{itemize} + \end{frame} + \begin{frame} + \frametitle{殴打宇宙智障} + \framesubtitle{没来得及讲的东西} + \begin{itemize} + \item 概率(解方程/dp)、高斯消元 + \item 网络流 + \item 好像没什么了? + \item Good luck to ya. + \end{itemize} + \end{frame} +\end{CJK*} +\end{document} + -- cgit v1.2.3