Fortuna izquierda France 4 bases problema título class7- corte de lingotes

Fortuna izquierda France 4 bases problema título class7- corte de lingotes

1. Tema

Un lingote cortado por la mitad, y toma un valor igual a la longitud de la placa de cobre. Por ejemplo, una longitud de 20 barras de oro, cortado en dos mitades, independientemente de la cantidad de longitud, deben pasar 20 de cobre. Un grupo de personas que quieren dividir todo el bloque de lingotes de oro, cómo dividir la provincia más cobre?
Por ejemplo, dada la matriz {10, 20}, que representa un total de tres, de toda la longitud de las barras 10 + 20 + 30 = 60. lingotes que se divide en tres partes 10,20,30. Si la longitud de las primeras barras 10 y 60 en 50, 60 lleva las barras 50 y luego en una longitud de 20 y 30, un costo total pasó 50 110 cobre. Si, sin embargo, la longitud de las primeras barras 30 y 60 en 30, 60 a continuación, tomar una longitud de las barras 30 y 20 en 10, 30 pasó un total de 90 cobre gastado.
Una matriz de entrada, los rendimientos divididas coste mínimo.

2. Análisis

Standard Huffman problema de codificación: el costo de nodos secundarios se fusionó juntos y
estrategia codicioso
Aquí Insertar imagen Descripción
todos los nodos que no son hojas y 30 + 60 = 90 es la solución a esta pregunta. Genera el enfoque de costo más bajo:
① todos los números añadidos a una pequeña raíz montón
② de cada dos números, a continuación, poner de nuevo de combinación
③ hasta que sólo un número, ese número es el precio

3. El código completo

#include<queue> 
#include<iostream>
using namespace std;
int main()
{

	int a[] = {10,20,30};
	vector<int> v(a,a + 3);
	int sum = 0;
	priority_queue<int,vector<int>,greater<int> > pq;
	for(auto c : v)
	{
		pq.push(c);
	}
	while(pq.size() > 1)
	{
		int num1 = pq.top();
		pq.pop();
		int num2 = pq.top();
		pq.pop();
		int cur = num1 + num2;
		sum += cur;
		pq.push(cur);
	}
	cout<<sum<<endl;
	return 0;
}
Publicado 51 artículos originales · ganado elogios 1 · vistas 1365

Supongo que te gusta

Origin blog.csdn.net/shi_xiao_xuan/article/details/104818389
Recomendado
Clasificación