Otimização de Orçamento para Períodos Fiscais

O problema gira em torno da otimização de um orçamento agrícola, onde o objetivo é minimizar o gasto máximo em qualquer período fiscal, conhecido como "fajomês". Temos um total de N dias com desepsas diárias específicas e precisamos dividir esses dias em exatamente M fajomêses consecutivos. Cada dia deve pertencer a um único fajomês. ...

Publicado em 7-9 23:55

Soluções de Programação Competitiva usando Matemática e Recursões em Matriz

Problema 1: Questão Matemática Simples Enunciado: Dado um inteiro positivo n, calcular a soma da expressão a seguir, módulo 10^9+7: \[ S = \sum_{i=1}^{n} i \cdot \sum_{j=i}^{n} \binom{j}{i} \] Ideia de Solução: Utilizando a identidade combinatória \(\sum_{i=m}^{k} \binom{i}{m} = \binom{k+1}{m+1}\), simplificamos a expressão para \(S = (n-1) \cd ...

Publicado em 7-8 06:33

Soluções para Desafios de Programação: Análise e Implementação

Ordenação e Seleção Ótima Tema: Algoritmos de ordenação, enumeração e estratégias gananciosas Abordagem: Utilizaremos ordenação para organizar os elementos por tamanho, seguida por enumeração para identificar qual elemento oferece o melhor resultdao quando posicionado estrategicamente. Código Implementado #include <iostream> #include < ...

Publicado em 7-6 20:01

Resoluções da Competição NOIP: Análise de Problemas de Programação

\(100+100+40+0\), T3 não otimizado corretamente resultou em \(20\) pontos perdidos. Posteriormente, descobri que durante a competição, a solução para T3 tinha complexidade de tempo e correção corretas, apenas com uma grande contsante que me fez achar que não executaria dentro do tempo limite. A. Conjunto A resposta satisfaz a propriedade monóto ...

Publicado em 7-1 17:46

Problema Bob in Wonderland do CERC 2019: Mínimo de Passos para Transformar uma Cadeia Incompleta em Reta

Contexto do Problema Este problema foi adaptado da competição CERC 2019. Trata-se de determinar o número mínimo de operações necessárias para converter uma estrutura de anéis conectados, chamada de cadeia incompleta, em uma cadeia reta, onde cada anel está conectado a no máximo dois outros. Descrição do Problema Uma cadeia incompleta é represen ...

Publicado em 6-29 21:01

Álgebra Linear para Competições de Programação

Vetores e Matrizes Parte 1: Vetores - Posições e Transformações Imagine que você está desenvolvendo um jogo 2D e precisa controlar a posição de um personagem no mapa. "Onde está o personagem?" → Você precisa de coordenadas, como (15, 8). "Para qual direção ele se moverá?" → Você precisa de uma direção e distância, como &quo ...

Publicado em 6-29 00:21

Coloração de Grafos Bipartidos em Programação Competitiva

Fundametnos de Grafos Bipartidos Um grafo é bipartido se e somente se não contém ciclos de comprimento ímpar. Um método eficiente para verificar essa propriedade é a coloração por busca em profundidade (DFS). A ideia é tentar atribuir dois rótulos (0 ou 1) aos vértices de modo que vértices adjacentes tenham rótulos diferentes. Se em algum momen ...

Publicado em 6-28 17:07

Conjuntos Disjuntos: Fundamentos e Aplicações em Programação Competitiva

Conjuntos disjuntos (ou union-find) são estruturas de dados usadas para gerenciar a partição de elementos em conjuntos disjuntos. Implementados como uma floresta, cada árvore representa um conjunto, e os nós dentro da árvore correspondem aos elementos desse conjunto. A estrutura suporta duas operações principais: União (Union): combina dois co ...

Publicado em 6-22 00:32

Resolução de Equações com Aritmética Modular e Algoritmo de Qin Jiushao

Pré-requisitos Para uma variável (x) e um módulo (p), se definimos (x = kp + b), então (x \equiv b ,(\mod p)), e simultaneamente (f(x) \equiv f(b) ,(\mod p)). A partir disso, podemos concluir que: sob o módulo p, uma condição necessária para (f(x) = 0) é que (f(x \mod p) = 0). Quando o módulo é suficientemente grande ou consideramos múltiplos m ...

Publicado em 6-21 21:41

Detecção de Palavras em uma Matriz de Letras

Dado uma matriz quadrada de dimensão n×n contendo letras, pode existir múltiplas ocorrências da palavra yizhong. A palavra na matriz deve estar posicionada em sequência contínua ao longo de uma direção constante. A busca deve considerar as 8 direções possíveis (horizontal, vertical e diagonais). Como as palavras podem se cruzar e compartilhar l ...

Publicado em 6-20 05:36