P1679 神奇的四次方數

2022-03-09 08:07:58 字數 1112 閱讀 1262

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 注...