Updating lazy-frog files

This commit is contained in:
2026-05-10 13:44:44 -03:00
parent 9c9bb62c23
commit 189f75019b
70 changed files with 2034 additions and 1 deletions

View File

@@ -0,0 +1,46 @@
\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amsthm,amssymb}
\usepackage{fullpage}
\usepackage{url}
\pagenumbering{gobble}
\usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: Análise de Dados}
\author{Leetcode 1223}
\date{}
\begin{document}
\maketitle
O problema pode ser resolvido por meio de uma abordagem de \textbf{programação dinâmica}, onde calculamos o número de sequências válidas de lançamentos de dados até cada posição, levando em consideração qual foi a última face sorteada e quantas vezes ela apareceu consecutivamente.
A principal restrição é que cada face \( i \) (\(1 \le i \le 6\)) só pode aparecer no máximo \( d_i \) vezes seguidas. Assim, ao adicionar um novo lançamento à sequência, precisamos garantir que essa condição nunca seja violada.
Definimos a seguinte estrutura de DP:
\[
dp[i][j] = \text{número de sequências válidas de comprimento } i \text{ cuja última face lançada é } j
\]
Para lidar com o número de repetições consecutivas, expandimos a ideia considerando blocos consecutivos de uma mesma face.
Para cada face \( k \), podemos adicioná-la de \(1\) até \(d_k\) vezes, desde que a sequência anterior termine com uma face diferente de \(k\).
Assim, a função de transição é dada por:
\[
dp[i][k] = \sum_{j \ne k} \sum_{x = 1}^{\min(d_k, i)} dp[i - x][j]
\]
onde o termo \(dp[i - x][j]\) representa o número de sequências de comprimento \(i - x\) que terminam com uma face diferente de \(k\), às quais adicionamos \(x\) ocorrências consecutivas da face \(k\).
As condições iniciais são:
\[
dp[0][j] = 1, \quad \forall j \in \{1, 2, 3, 4, 5, 6\}
\]
representando a sequência vazia inicial, que serve como base para as transições.
A resposta final será a soma de todas as formas possíveis de terminar a sequência de comprimento \(n\):
\[
\sum_{j=1}^{6} dp[n][j] \bmod (10^9 + 7)
\]
A complexidade temporal dessa solução é \(O(n \times 6 \times \text{max}(d_i))\), pois para cada posição e cada face consideramos até \(d_i\) possíveis comprimentos de repetições.\end{document}

Binary file not shown.

View File

@@ -0,0 +1,54 @@
\documentclass{maratona}
\begin{document}
\begin{ProblemaAutor}{}{Análise de Dados}{1}{256}{Leetcode 1223}
É o seu primeiro dia no \textbf{Departamento de Controle de Qualidade}.
Você esperava analisar planilhas, gráficos e talvez alguns modelos estatísticos... mas o laboratório te surpreende.
Logo ao entrar, seu gerente te conduz até uma máquina barulhenta, repleta de cabos coloridos e um enorme botão vermelho no topo.
--- “Aqui nós fazemos \textbf{análise de dados}.”, ele diz, com um sorriso confiante.
Você concorda, achando que entendeu, até perceber que a máquina está literalmente lançando um dado de seis faces a cada segundo.
Sim, você vai analisar \textbf{dados de verdade}.
Mas há um problema: os dados do laboratório sofrem de \textit{fadiga de repetição}.
Se uma mesma face aparecer muitas vezes seguidas, o mecanismo emperra e a máquina trava, o que, segundo o manual, “não é recomendável”.
Cada face $i$ ($1 \le i \le 6$) possui um limite $d_i$: o número máximo de vezes que ela pode aparecer consecutivamente antes de causar uma falha.
Sua tarefa é determinar quantas sequências de lançamentos de comprimento $n$ podem ser geradas sem que a máquina quebre.
Como o número de sequências válidas pode ser gigantesco, o gerente exige que o resultado seja dado módulo $10^9 + 7$.
\Entrada
A entrada contém um inteiro \(n\) que representa o número de lançamentos do dado, onde \(1 \leq n \leq 5000\).
Em seguida, são dados seis inteiros \(d_1, d_2, d_3, d_4, d_5, d_6\), cada um representando o número máximo de vezes consecutivas que a face correspondente pode aparecer, com \(1 \leq d_i \leq 15\).
\Saida
A saída consiste em um único inteiro representando o número total de sequências válidas de lançamentos, considerando o resultado módulo \(10^9 + 7\).
\ExemploEntrada
\begin{Exemplo}
\texttt{2} & \texttt{34}\\
\texttt{1~1~2~2~2~3} & \\
\rowcolor{gray!20}\texttt{2} & \texttt{30}\\
\rowcolor{gray!20}\texttt{1~1~1~1~1~1} & \\
\end{Exemplo}
\Notas
No primeiro caso de teste, \(n = 2\) e os valores \(d\) são \((1, 1, 2, 2, 2, 3)\).
As faces \(1\) e \(2\) não podem aparecer repetidas consecutivamente, enquanto as demais possuem limites mais altos, resultando em \(34\) sequências válidas.
Como há \(2\) lançamentos de dado e \(6\) faces, sem restrições haveria \(6 \times 6 = 36\) combinações possíveis.
Entretanto, as sequências \((1, 1)\) e \((2, 2)\) são inválidas devido às restrições de \(d_1 = 1\) e \(d_2 = 1\).
Logo, o total de combinações válidas é \(36 - 2 = 34\). \end{ProblemaAutor}
\end{document}