選取和不超過s的若干個不同的正整數,使得所有數的約數(不含它本身)之和最大。
輸入乙個正整數s。
輸出最大的約數之和。
輸入 #1複製
11輸出 #1複製
9樣例說明
取數字4和6,可以得到最大值(1+2)+(1+2+3)=9。
資料規模
s<=1000
【題目分析】我們可以預先處理出來所有數的約數的和,而這個和對應著我們揹包的價值,那麼每個數就對應我們揹包的體積,因為所有的數不能相同,所以這個問題本質上就是乙個01揹包的問題。在預處理約數和的時候,我們可以列舉小於n的所有數i,然後在所有i*j<=n的數中加上i,這樣就預處理出來所有數的約數之和了。
【**實現】
#includeusing namespace std;
const int n=1010;
int f[n],w[n];
int main()
洛谷P1734 最大約數和
選取和不超過s的若干個不同的正整數,使得所有數的約數 不含它本身 之和最大。輸入格式 輸入乙個正整數s。輸出格式 輸出最大的約數之和。輸入樣例 1 複製11 輸出樣例 1 複製9 樣例說明 取數字4和6,可以得到最大值 1 2 1 2 3 9。資料規模 s 1000 01揹包,預處理出每個數的約數和...
洛谷P1734 最大約數和 題解
本蒟蒻的第一篇題解,這是一道十足的水題。題意如下 選取和不超過s的若干個不同的正整數,使得所有數的約數 不含它本身 之和最大。問題分析 我們可以把這道題看做乙個01揹包問題 翻譯一下這個問題 有乙個大小為 s 的揹包,有 s 個物品,第 i 個物品的體積為 i,價值為i的因數之和,現在求如何放置物品...
最大約數和
題目 題目描述 選取和不超過s的若干個不同的正整數,使得所有數的約數 不含它本身 之和最大。輸入格式 輸入乙個正整數s。輸出格式 輸出最大的約數之和。輸入輸出樣例 輸入 1 輸出 1 說明 提示 樣例說明 取數字4和6,可以得到最大值 1 2 1 2 3 9。資料規模 s 1000 思路 把它當做0...