4.6 una solución problema diario a un problema

triángulo

La participación de puntos de conocimiento:

  • dp mochila

solución:

  • Mochila es un algoritmo muy clásico problema dp (Si va a aprender dp estudiantes deben aprender problema de la mochila), podemos ver el hormigón mí en el grupo de la mochila nueve tensiones pdf
  • Esta pregunta se refiere, podemos hacer una mochila para cada pecho
  • Y sólo requiere un tema tomado de cada uno de un cofre, el modo proporcionado DP [i] [j] para el i-ésimo en el pecho de enumeración, la cantidad de dinero disponible es igual al número de programa j
  • Entonces ecuación de transferencia es igual a DP [i] [z] + = dp [i-1] [z - a [i] [j]], la inicialización dp [0] [0] = 1
  • I i representante de un frente de pecho, z z representante de dinero se puede obtener, el j-ésimo dinero A [i] [j] de la i-ésima representante de pecho enumeración, DP [i] [z] es igual a la i-ésima parte frontal del pecho pueden obtenerse z cantidad de dinero del programa
  • gama J de 0 a 10.000, de pequeño a llegar a la dp enumeración definitiva [n] [j], n representa un pecho antes de poder obtener la cantidad de dinero igual al número de programa j, y k continuará haciendo la diferencia para obtener la respuesta

std:

#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn = 105;
int a[maxn][maxn],dp[maxn][maxn*maxn],len[maxn];
int main()
{
    int n , k;
    cin>>n>>k;
    for(int i=1;i<=n;i++){
        cin>>len[i];
        for(int j=1;j<=len[i];j++)
            cin>>a[i][j];
    }
    dp[0][0] = 1;
    
    for(int i=1;i<=n;i++){
        for(int z=0;z<=10000;z++){
            for(int j=1;j<=len[i];j++){
                dp[i][z] += dp[i-1][z-a[i][j]];
            }
        }
    }
    ll ans = 0;
    for(int i=1;i<=10000;i++){
        if(dp[n][i] >= k){
            ans += 1ll*k*i;
            break ;
        }else{
            ans += 1ll*dp[n][i]*i;
            k -= dp[n][i];
        }
    }
    cout<<ans<<endl;
    return 0;
}

Supongo que te gusta

Origin www.cnblogs.com/QFNU-ACM/p/12640491.html
Recomendado
Clasificación