传送门
相当于背包,
f[i][j] 表示当前数为 i,能分解成 j 个数的平方的和的数量
那么就是统计背包装物品的数量
——代码
#include <cmath> #include <cstdio> #include <iostream> #define max(x, y) ((x) > (y) ? (x) : (y)) int t, n, m, sum; int a[101], f[100001][5]; inline int read() int main() f[0][0] = 1; m = sqrt(n); for(i = 1; i <= m; i++) for(j = i * i; j <= n; j++) for(k = 1; k <= 4; k++) f[j][k] += f[j i * i][k 1]; for(i = 1; i <= t; i++) return 0; }
上一篇:[luoguP1922] 女仆咖啡厅桌游吧(奇奇怪怪的树形DP)
下一篇:[HDU3586]Information Disturbing(DP + 二分)
DP









