洛谷P1679神奇的四次方數 DP

2022-05-01 12:42:08 字數 905 閱讀 1273

原題請戳》

<<

在你的幫助下,v神終於幫同學找到了最合適的大學,接下來就要通知同學了。在班級裡負責聯絡網的是dm同學,於是v神便找到了dm同學,可dm同學正在忙於研究一道有趣的數學題,為了請dm出山,v神只好請你幫忙解決這道題了。

題目描述:將乙個整數m分解為n個四次方數的和的形式,要求n最小。例如,m=706,706=5^4+3^4,則n=2。

輸入格式:

一行,乙個整數m。

輸出格式:

一行,乙個整數n。

輸入樣例#1:

706

輸出樣例#1:

2

資料範圍:對於30%的資料,m<=5000;對於100%的資料,m<=100,000

這題其實就是完全揹包問題.而其中的物品就是i的四次方.我們首先可以確定"揹包的體積"是m,且小於100000.所以我們要先早點到最大的i,且該i的四次方小於100000

通過打表可以看到17的四次方正好小於100000;所以我們直接討論2~17的四次方共16個物品的完全揹包.但是首先要對陣列初始化.使a[i]=i;(即是均用1的四次方填充) 然後就套完全揹包公式.**實現如下:

#includeusing

namespace

std;

int a[100005],s[25

];int sicif(int

i)int min(int a,int

b)int

main()

cin>>m;

for(i=1;i<=m;i++) a[i]=i;//

初始化

for(i=2;i<=17;i++)//

16個物品完全揹包

} cout

}

於是就愉快的水寫完了~~

洛谷 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 神奇的四次方數

p1679 神奇的四次方數 用一些什麼東西組成乙個什麼東西,要求什麼東西最優,這時候要考慮揹包,不過要分析清楚是什麼型別的揹包。這題顯然是個完全揹包。include include include include include include include define inf 21474836...