update ucpc2026
This commit is contained in:
@@ -11,6 +11,10 @@
|
||||
\usepackage{subfiles}
|
||||
\usepackage{amsmath}
|
||||
|
||||
\usepackage{tkz-euclide}
|
||||
\usetikzlibrary{calc}
|
||||
|
||||
|
||||
\usepackage{etoolbox}
|
||||
\AtBeginEnvironment{align*}{%
|
||||
|
||||
@@ -38,7 +42,7 @@
|
||||
\usepackage{multicol}
|
||||
\setlength\columnseprule{0.5pt}
|
||||
|
||||
\teamnote{POSTECH}{ConSpirito}{}{ICPC Seoul Regional}
|
||||
\teamnote{UCPC 2025 Final}{아팀명모하지}{아팀명모하지}{}
|
||||
|
||||
\ShowUsage
|
||||
\ShowComplexity
|
||||
@@ -72,6 +76,7 @@
|
||||
\item calculating error bound on a real number usage?
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\subsection{checked...}
|
||||
|
||||
\begin{itemize}
|
||||
@@ -378,11 +383,16 @@ When you don't have any ideas, please bruteforce it.
|
||||
\end{tcolorbox}
|
||||
|
||||
|
||||
\Algorithm{POROGOD}{}{}{bash}{source/poro.cpp}
|
||||
\Algorithm{POROGOD}{}{}{bash}{source/poro.sh}
|
||||
|
||||
\pagebreak
|
||||
% \pagebreak
|
||||
|
||||
% \Algorithm{astilate}{}{}{cpp}{source/Fundemental.cpp}
|
||||
\Algorithm{cy4n1de}{}{}{cpp}{source/cy4n1de.cpp}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\section{Math}
|
||||
|
||||
\subsection{Tips for Inequality with Rational Number}
|
||||
Let $A$, $B$, $x$, $n$ be integer, and operator `/' means floor division(quotient).
|
||||
@@ -393,9 +403,7 @@ Let $A$, $B$, $x$, $n$ be integer, and operator `/' means floor division(quotien
|
||||
Ax > B & \Leftrightarrow x \geqslant B/A+1 \\ \\
|
||||
x < n & \Leftrightarrow x+1\leqslant n
|
||||
\end{align*}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\section{Math}
|
||||
\subfile{source/Math/math}
|
||||
\subsection{Prime Number}
|
||||
|
||||
@@ -485,7 +493,7 @@ $$\sum_{x=0}^{N-1} \left\lfloor \frac{Ax+B}{C} \right\rfloor $$}
|
||||
|
||||
|
||||
\Algorithm{NTT - Number Theoretic Transform}
|
||||
{helloworld}
|
||||
{}
|
||||
{}
|
||||
{cpp}
|
||||
{source/Math/NTT.cpp}
|
||||
@@ -760,8 +768,8 @@ D_{min}(p) &= \min_i|A_i-B_{p_i}| && \text{ maximize } D_{min} &&& \Rightarrow p
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{DP}
|
||||
|
||||
\Algorithm{LIS}
|
||||
{}{}{cpp}{source/DP/LIS.cpp}
|
||||
% \Algorithm{LIS}
|
||||
% {}{}{cpp}{source/DP/LIS.cpp}
|
||||
|
||||
\subsection{DP Optimization}
|
||||
|
||||
@@ -871,6 +879,17 @@ D_{min}(p) &= \min_i|A_i-B_{p_i}| && \text{ maximize } D_{min} &&& \Rightarrow p
|
||||
{cpp}
|
||||
{source/String/AhoCorasick.cpp}
|
||||
|
||||
% % gemini flash : lyndon word, lyndon decomp를 설명해
|
||||
% \Algorithm{Duval's}
|
||||
% {A string is called simple (or a Lyndon word), if it is strictly smaller than any of its own nontrivial suffixes. Examples of simple strings are a,b,ab,aab,abb,abcd,abaca, b, ab, aab, abb, abcd, abac.
|
||||
% It can be shown that a string is simple, if and only if it is strictly smaller than all its nontrivial cyclic shifts. As a corollary, it can be observed that simple words are never periodic (it is not a repetition of some words for 22 or more times).
|
||||
% The Lyndon decomposition of string ss is a factorization $s = w_1w_2 \ldots w_k$, where all strings $w_i$ are simple, and are in non-increasing order $w_1 \geq w_2 \geq \ldots \geq w_k$.
|
||||
% Alternatively, the Lyndon decomposition of string s can be represented as $s = w_1^{p_1} w_2^{p_2} \ldots w_k^{p_k}$. Here, $p_i$ are positive integers, and $w^p_i$ denotes the string w repeated for $p_i$ times. All strings $w_i$ are simple, and are in decreasing order $w_1 > w_2 > \ldots > w_k$. The only difference is that the group of identical factors is grouped as a chunk such as $w^p_i$.
|
||||
% }
|
||||
% {}
|
||||
% {cpp}
|
||||
% {source/String/Duval.cpp}
|
||||
|
||||
\Algorithm{Eertree}
|
||||
{}
|
||||
{}
|
||||
@@ -981,15 +1000,16 @@ If we want the result of matching, use:}
|
||||
{cpp}
|
||||
{source/DS/PBDS.cpp}
|
||||
|
||||
% \Algorithm{rope}{}{}{cpp}{}
|
||||
|
||||
\Algorithm{Union and Find - Queue Undoing}
|
||||
{}
|
||||
{$\mathcal O(\log^2N)$}
|
||||
{cpp}
|
||||
{source/DS/UF_QUndo.cpp}
|
||||
|
||||
\Algorithm{Fenwick Tree}{}{}{cpp}
|
||||
\Algorithm{Fenwick Tree}
|
||||
{}
|
||||
{}
|
||||
{cpp}
|
||||
{source/DS/Fenwick.cpp}
|
||||
|
||||
\Algorithm{Segment Tree}
|
||||
@@ -1004,11 +1024,11 @@ If we want the result of matching, use:}
|
||||
% {cpp}
|
||||
% {source/DS/SegmentTree.cpp}
|
||||
|
||||
\Algorithm{Segment Tree Beats}
|
||||
{}
|
||||
{$\mathcal O(\log N)$ on updating and querying}
|
||||
{cpp}
|
||||
{source/DS/STBeats.cpp}
|
||||
% \Algorithm{Segment Tree Beats}
|
||||
% {}
|
||||
% {$\mathcal O(\log N)$ on updating and querying}
|
||||
% {cpp}
|
||||
% {source/DS/STBeats.cpp}
|
||||
|
||||
\Algorithm{Li-Chao Tree}
|
||||
{}
|
||||
@@ -1023,7 +1043,7 @@ If we want the result of matching, use:}
|
||||
{source/DS/SplayTree.cpp}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Numerical Analysis}
|
||||
% \section{Numerical Analysis}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
@@ -1043,8 +1063,6 @@ If we want the result of matching, use:}
|
||||
{cpp}
|
||||
{source/Misc/NegDiv.cpp}
|
||||
|
||||
|
||||
|
||||
\Algorithm{Fast Input}
|
||||
{Fast Input with fread. Do not use with scanf, cin, or other input function. Use \texttt{forr(i, n) read(arr[i]);} instead of \texttt{forr(i, n) scanf("\%d", arr+i);}. Use \texttt{read(s+1)} instead of \texttt{scanf("\%s", s+1);}.}
|
||||
{}
|
||||
|
||||
Reference in New Issue
Block a user