Resolução de Desafios Algorítmicos: Programação Dinâmica, Grafos e Teoria dos Números

Análise do Problema de Mineração (Mine) Este problema exige calcular o número de maneiras válidas para preencher uma sequência linear onde cada posição indica informações sobre bombas adjacentes. A abordagem utiliza Programação Dinâmica (DP). Definimos o estado como dp[indices][valor_atual][valor_previo], representando até qual posição da sequê ...

Publicado em 9-21 05:25

Notas sobre Algoritmo DFS

O algoritmo DFS (Busca em Profundidade) é frequentemente utilizado em competições como a Blue Cup, especialmente para problemas de alocação e navegação em grafos/trees. Aqui, discutiremos dois tipos principais de problemas que envolvem DFS. Tipo Um: DFS para Processos de Alocação Exemplo 1: Pouso de Aviões Descrição do Problema: N aviões estão ...

Publicado em 9-20 15:12

Árvore Binária de Maçãs

No mundo binário dos computadores, uma árvore de maçãs se parece com uma árvore binária, onde cada galho bifurca-se exatamente em dois novos galhos. Numeramos os pontos da raiz, dos galhos e das pontas das folhas para distinguir diferentes galhos por seus pontos finais. Assumimos que a raiz sempre é numerada como 1 e todos os números usados par ...

Publicado em 8-26 21:49

Soluções de Problemas de Competição de Programação

Após resolver muitos problemas de ATT, percebi que minha capacidade de adivinhar soluções melhorou!! 11.11 A. [2011福建集训] Moldura de Foto Após vinte minutos pensando, formulei uma conclusão que parecia correta. Como havia apenas um pequeno exemplo de entrada e o problema não mencionava self-loops, inclusive sugerindo que não havia, e os dado ...

Publicado em 7-22 00:59

Fevereiro — Semana 3

2025.2.17 A: Sede de Sal As operações que exigem custo adicional são executadas no máximo uma vez. Portanto, existem três cenários. O primeiro é saltar diretamente para a frente e gastar um custo extra para recuar. O segundo é não realizar nenhuma operação com custo adicional; ambos são simples. No primeiro caso, basta consultar o mínimo de pre ...

Publicado em 7-16 04:41

Algoritmos de Grafos: Cálculo de Distâncias Médias, Minimização de Ruído e Identificação de Pontes Críticas

Page Hopping - UVA 821 Em um ambiente com N salas interconectadas (1≤N≤100), calculamos a distância média dos caminhos mais curtos entre todos os pares de salas alcençáveis. A entrada consiste em múltiplos casos de teste terminados com "0 0". Para cada caso, pares de inteiros indicam conexões diretas entre salas. #include <iostream ...

Publicado em 7-14 18:47

Algoritmo de Busca em Largura (BFS) para Planejamento de Caminhos em Labirintos

A aplicação da Busca em Largura (BFS) em problemas de labirinto oferece uma abordagem sistemática para exploração, mas enfrenta limitações em cenários dinâmicos. Se um grupo de agentes iniciar de um ponto e se espalhar camada por camada, o número de agentes necessário cresce exponencialmente com a profundidade da busca. Entretanto, se o labirin ...

Publicado em 7-6 10:45

Estradas e Rotas: Caminhos Mínimos com Ciclos e Arestas Negativas

Um fazendeiro deseja transportar leite para T cidades (1 ≤ T ≤ 25.000), numeradas de 1 a T. As cidades são conectadas por R estradas (1 ≤ R ≤ 50.000) e P rotas aéreas (1 ≤ P ≤ 50.000). Cada estrada ou rota i liga a cidade Ai a Bi com custo Ci. Para estradas, 0 ≤ Ci ≤ 10.000; para rotas aéreas, -10.000 ≤ Ci ≤ 10.000. Estradas são bidirecionais, ...

Publicado em 6-30 03:02

Implementações de DFS e BFS em Grafos

Métodos de Travsesia em Grafos Dois métodos fundamantais para percorrer grafos: DFS (Busca em Profundidade) BFS (Busca em Largura) - implementada com fila DFS com Lista de Adjacência #define TAM_MAX 100 #define INF 65535 typedef struct NoAdjacente* PonteiroNo; struct NoAdjacente { int Vertice; int Peso; PonteiroNo Proximo; }; typedef ...

Publicado em 6-29 05:24

Resolução dos Problemas D e F da Codeforces Round #694 (Div. 2)

Problema D: Definição Estranha Definimos dois números como adjacentes se o resultado de lcm(a,b)/gcd(a,b) for um quadrado perfeito. Dada uma sequência de comprimento n, para cada elemento a[i], d[i] é a contagem de elementos adjacentes a ele. A cada segundo, cada elemento se transforma no produto dele mesmo com todos os seus elementos adjacente ...

Publicado em 6-25 16:33