Logo Passei Direto
Buscar
A abordagem de força bruta para resolver o problema de corte de barras envolve gerar todas as combinações possíveis de cortes e comparar os valores de venda. No entanto, essa abordagem é ineficiente devido ao tempo de execução exponencial, uma vez que existem 2(N−1)2 combinações possíveis de cortes para uma barra de comprimento N. Em vez disso, podemos usar uma abordagem recursiva, aproveitando o fato de que a solução ótima para um problema de comprimento N é uma composição das soluções ótimas de subproblemas de tamanhos menores. Em cada nível de recursão, executa-se apenas um único corte e considera-se uma solução ótima para a barra restante.

Considere uma barra de comprimento 4 e a seguinte tabela de preços para cada comprimento:

Comprimento (i) Preço (p[i])

1 2

2 5

3 7

4 8
Agora, utilize uma abordagem recursiva para computar a receita máxima obtida ao cortar a barra e selecione a alternativa correspondente.
A. 8
B. 9
C. 11
D. 12
E. 10
User badge image
Testando o Conhecimento

há 2 semanas

Respostas

User badge image

Ed Verified user icon

há 2 semanas

Vamos analisar passo a passo para encontrar a receita máxima ao cortar a barra de comprimento 4, usando a tabela de preços: Comprimento (i) | Preço (p[i]) 1 | 2 2 | 5 3 | 7 4 | 8 A ideia é calcular a receita máxima para cada comprimento menor ou igual a 4, considerando todas as possíveis divisões. Definimos R(n) como a receita máxima para uma barra de comprimento n. - R(0) = 0 (barra de comprimento zero não gera receita) Calculamos R(1): - Cortar em 1: preço p[1] = 2 Logo, R(1) = 2 Calculamos R(2): - Cortar em 1 + R(1) = p[1] + R(1) = 2 + 2 = 4 - Cortar em 2: p[2] = 5 Máximo é 5 Logo, R(2) = 5 Calculamos R(3): - Cortar em 1 + R(2) = 2 + 5 = 7 - Cortar em 2 + R(1) = 5 + 2 = 7 - Cortar em 3: p[3] = 7 Máximo é 7 Logo, R(3) = 7 Calculamos R(4): - Cortar em 1 + R(3) = 2 + 7 = 9 - Cortar em 2 + R(2) = 5 + 5 = 10 - Cortar em 3 + R(1) = 7 + 2 = 9 - Cortar em 4: p[4] = 8 Máximo é 10 Portanto, a receita máxima para a barra de comprimento 4 é 10. Resposta correta: E. 10

Essa resposta te ajudou?

0
Dislike0

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais perguntas desse material

A programação dinâmica é uma técnica utilizada para otimizar a resolução de problemas complexos, dividindo-os em subproblemas menores e resolvendo-os de forma eficiente. Existem duas abordagens principais para implementar a programação dinâmica: Top-Down e Bottom-Up. Ambas visam melhorar a eficiência do algoritmo ao gerenciar e reutilizar os resultados dos subproblemas de maneiras diferentes.
Com base na contextualização apresentada, assinale a alternativa que define as abordagens Top-Down e Bottom-Up na programação dinâmica.
A. A abordagem Top-Down utiliza uma estrutura recursiva, salva os resultados de subproblemas resolvidos, e evita cálculos repetidos, enquanto a abordagem Bottom-Up é iterativa, resolve subproblemas do menor para o maior, e constrói a solução final.
B. A abordagem Top-Down calcula os subproblemas do menor para o maior sem salvar resultados intermediários, enquanto a abordagem Bottom-Up evita cálculos repetidos, usa memorização, e armazena todos os resultados em uma tabela.
C. A abordagem Top-Down resolve subproblemas de forma paralela, armazena resultados intermediários para evitar redundâncias, enquanto a abordagem Bottom-Up utiliza uma estrutura recursiva, resolve do maior para o menor, e depende de cálculos repetidos.
D. A abordagem Top-Down é iterativa, resolve subproblemas do maior para o menor, sem utilizar recursão, enquanto a abordagem Bottom-Up resolve subproblemas de forma sequencial, armazena resultados de subproblemas em uma tabela e constrói a solução final.
E. A abordagem Top-Down armazena resultados intermediários para evitar cálculos redundantes e utiliza uma estrutura recursiva, enquanto a abordagem Bottom-Up trabalha de forma iterativa, resolvendo subproblemas do menor para o maior, e evita cálculos repetidos.

Mais conteúdos dessa disciplina