問題描述
設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是 li,1≤i≤n。 程式儲存問題要求確定這n 個程式在磁帶上的乙個儲存方案, 使得能夠在磁帶上儲存盡可能多的程式。 對於給定的n個程式存放在磁帶上的長度,計算磁帶上最多可以儲存的程式數。
輸入格式:
第一行是2 個正整數,分別表示檔案個數n和磁帶的長度l。接下來的1行中,有n個正整數,表示程式存放在磁帶上的長度。
輸出格式:
輸出最多可以儲存的程式數。
輸入輸出
問題分析
你看,這個問題是不是和月餅問題一樣新增鏈結描述
還比月餅問題簡單了嘞。不一樣的是,月餅問題屬於部分揹包問題,這個是0/1揹包。。
我們要想儲存最多的程式數,肯定先存長度小的對吧,那就先按長度非降序排列,然後,乙個乙個拿,直到放不進去。
ac**
在這裡插入**片
#include
using
namespace std;
multiset<
int>pp;
//直接用multiset容器實現非降序排列
intmain()
int num =
0,sum=0;
for(
int i :pp)
//遍歷程式
else
break
;// 。。放不下了,,就停
}
cout << num;
return0;
}
5、我想公升級lv3, 程式設計師 你可以更健康!
摘要 程式設計師是乙個低調 安靜 懷揣夢想的群體,他們個個都是天使。可提到健康,哪個程式設計師心裡不是一把辛酸淚?誰也不想被病痛吞噬,那麼程式設計師如何才能擁有健康的體魄?據說程式設計師的奮鬥歷程是這樣子的 22歲大學畢業進外包公司,任軟體工程師,每天編碼到凌晨3點,結果把眼睛弄成了深度近視 25歲...
程式設計師,你可以更健康!
據說程式設計師的奮鬥歷程是這樣子的 22歲大學畢業進外包公司,任軟體工程師,每天編碼到凌晨3點,結果把眼睛弄成了深度近視 25歲跳槽進入it公司,任高階軟體工程師,天天坐著編碼,結果長成了胖子 28歲好不容易跳槽進入網際網路公司,擔任系統架構師,終於能夠貸款買房了,可惜同年禿頂,未老先衰 33歲好不...
絕對能夠測試你的C語言功力的幾個問題
另外,在實際的vc 教學中,發現很少有真正精通了c語言程式設計的學員,一般都有或多或少概念不是完全清楚的問題,特別是一些需要豐富的實戰經驗才能體會和明白的問題,如字串,指標,型別轉換,定義指向函式的指標型別,這也是導致學習 vc 困難的乙個原因。下面有幾個簡單測試將能發現你對c語言的掌握情況。int...