p1679 神奇的四次方數
用一些什麼東西組成乙個什麼東西,要求什麼東西最優,這時候要考慮揹包,不過要分析清楚是什麼型別的揹包。
這題顯然是個完全揹包。
#include#include#include
#include
#include
#include
#include
#define inf 2147483646
#define for(i,a,b) for(register long long i=a;i<=b;i++)
#define p(a) putchar(a)
#define g() getchar()
//by war
using
namespace
std;
long
long
n;long
long f[100010
];long
long w[20
];void
in(long
long &x)
while(c<='
9'&&c>='
0')x=x*10+c-'
0',c=g();
x*=y;
}void o(long
long
x)
if(x>9)o(x/10
); p(x%10+'0'
);}long
long pow(long
long a,long
long
b)
long
long r=1
;
while(b>0
)
returnr;}
intmain()
for(i,
1,n)
f[i]=inf;
f[0]=0
; for(i,
1,cnt)
for(j,w[i],n)
f[j]=min(f[j],f[j-w[i]]+1
); o(f[n]);
return0;
}
洛谷 P1679 神奇的四次方數
題目 神奇的四次方數 題目描述 在你的幫助下,v神終於幫同學找到了最合適的大學,接下來就要通知同學了。在班級裡負責聯絡網的是dm同學,於是v神便找到了dm同學,可dm同學正在忙於研究一道有趣的數學題,為了請dm出山,v神只好請你幫忙解決這道題了。題目描述 將乙個整數m分解為n個四次方數的和的形式,要...
洛谷 P1679 神奇的四次方數
在你的幫助下,v神終於幫同學找到了最合適的大學,接下來就要通知同學了。在班級裡負責聯絡網的是dm同學,於是v神便找到了dm同學,可dm同學正在忙於研究一道有趣的數學題,為了請dm出山,v神只好請你幫忙解決這道題了。題目描述 將乙個整數m分解為n個四次方數的和的形式,要求n最小。例如,m 706,70...
完全揹包 P1679 神奇的四次方數
一看這就是個完全揹包 m最多不會超過18 4,所以我們把x 4用陣列存起來,然後考慮如何填滿m,注意存到18 4,不然會像我一樣re。那麼問題就轉化成完全揹包問題,因為乙個四次方數可以用多次 設計狀態 f i j 表示前 i 個數中,總和不超過 j 的數的最少個數,然後我們降一維實現 即 f j 注...