feat: new graph problem formatted.
This commit is contained in:
28
gatinhos/gatinhos-tutorial.tex
Normal file
28
gatinhos/gatinhos-tutorial.tex
Normal file
@@ -0,0 +1,28 @@
|
||||
\documentclass[10pt]{article}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{amsmath,amsthm,amssymb}
|
||||
\usepackage{fullpage}
|
||||
\usepackage{url}
|
||||
\pagenumbering{gobble}
|
||||
\usepackage{hyperref}
|
||||
|
||||
\title{ Tutorial: Gatinhos}
|
||||
\author{Arthur Andrade D'Olival}
|
||||
\date{}
|
||||
\begin{document}
|
||||
\maketitle
|
||||
O problema pode ser modelado como uma travessia em árvore (por exemplo, usando Busca em Profundidade - DFS ou Busca em Largura - BFS).
|
||||
Começando da raiz (sala 1), mantemos um contador do número de gatinhos consecutivos que vimos até o momento no caminho da raiz até o nó atual.
|
||||
Ao visitar um nó $u$:
|
||||
\begin{itemize}
|
||||
\item Se o nó atual possui um gatinho ($a_u = 1$), incrementamos o nosso contador.
|
||||
\item Caso contrário ($a_u = 0$), zeramos o contador.
|
||||
\end{itemize}
|
||||
|
||||
Se em qualquer ponto o contador ultrapassar o limite $m$, sabemos que este caminho não é mais válido, portanto, paramos a travessia a partir desse nó (pois a alergia atacou e Bibi não pode continuar).
|
||||
|
||||
Se chegarmos a um nó que é folha e o contador não tiver excedido $m$, incrementamos nossa resposta em 1.
|
||||
|
||||
A complexidade de tempo será $O(n)$ pois visitamos cada nó no máximo uma vez e realizamos operações de tempo constante em cada passo.
|
||||
A complexidade de espaço será $O(n)$ devido ao armazenamento da árvore e à pilha de chamadas da recursão ou à fila da BFS.
|
||||
\end{document}
|
||||
Reference in New Issue
Block a user