- límite de tiempo total:
- 100 ms
- Límite de memoria:
- 65536kB
- descripción
-
El número entero positivo n representa como una serie de positivo y número entero, n = n1 + n2 + ... + nk, donde n1> = n2> = ...> = nk> = 1, k> = 1.
Esto representa un número entero positivo n es un entero positivo n se llama partición. Dividiendo el número de diferente número entero positivo n se llama el número de división n, un número entero positivo. - entrada
- entrada de prueba estándar que comprende una pluralidad de conjuntos de datos. Cada prueba es un número entero N (0 <n <= 50).
- exportación
- Los datos, el número de divisiones N de la salida de cada prueba.
- entrada de la muestra
-
5
- Ejemplo de salida
-
7
- rápido
- 5, 4 + 1, 3 + 2, 3 + 1 + 1, 2 + 2 + 1, 2 + 1 + 1 + 1, 1 + 1 + 1 + 1 + 1
-
1 @ resolver las ideas: la planificación problema de la mochila completamente típica dinámica 2 // Si las entradas a 5, en el que se pueden considerar como que comprende cinco elementos, el valor, respectivamente 1,2,3,4,5 3 / / cada elemento se puede seleccionar varias veces, el valor de tiempo se han acumulado un número seleccionado de artículos 5 4. // puede utilizar una matriz unidimensional de desplazamiento 5 // ecuación de transición de estado: dp [j] = dp [ ji] + dp [ J] . 6 #include <bits / STDC ++ H.> 7. el uso de espacio de nombres STD; . 8 int main () { 9. int N; 10 al mismo tiempo (CIN >> N) { 11. int DP [ 1010 ]; 12 es Memset (DP, 0 , la sizeof (DP)); 13 es dp [ 0 ] = 1 ; 14 para ( int i = 1 ; i <= N; ++ i) 15 para ( int j = i; j <= N; ++ j) { 16 dp [j] = dp [j - i] + dp [ j]; 17 } 18 cout << dp [N] << endl; 19 } 20 de retorno 0 ; 21 }