傳送門
思路:先打表預處理,將1-20所有數的四次方全部列舉,然後將n做為容量,每個數的四次方作為價值。
完全揹包:dp[i]是當容量是i時,當前揹包中物體的個數。因為是要求最小,所以先預處理,將個數初始化最大。
/**
* from:
* qingdao agricultural university
* created by xiangwangacmer
* date : 2019-10-16-19.59.14
* talk is cheap.show me your code.
*/#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define ll long long
using
namespace std;
const ll maxn =
1e6+5;
const ll minn =
1e9+5;
const ll mod =
1000000007
;const
int inf =
0x3f3f3f3f
;const
long
long limit =
4294967295ll
;vector<
int>v[maxn]
;int dp[maxn]
;vector<
int>g[maxn]
;bool row[maxn]
, col[maxn]
;bool flag =0;
queue<
int>q;
int w[maxn]
;int n;
int vis[maxn]
;int count =
100100
;int
main()
洛谷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 注...
P1679 神奇的四次方數
p1679 神奇的四次方數 用一些什麼東西組成乙個什麼東西,要求什麼東西最優,這時候要考慮揹包,不過要分析清楚是什麼型別的揹包。這題顯然是個完全揹包。include include include include include include include define inf 21474836...