由於揹包的容量n很大,所以直接列舉的方法肯定超時。
所以我們可以按照價效比來分類列舉。
當v1/s1較大時選擇讓第一類盡量多,反之也是。
列舉的過程中以s1和s2的最小公倍數容量為乙個節點,因為如果某種的數量再增加的話,就可以用另一種來代替。所以列舉的次數最多是min(s1-1,n/s2)或min(s2-1,n/s1)次
ac **:
#include #include #include using namespace std;
typedef long long ll;
int main ()
}else
}cout << "case #"<
UVa12325 寶箱(兩種列舉方法)
題目大意 你有乙個體積為n的箱子和兩種數量無限的寶物。寶物1的體積為s1,價值為v1 寶物2的體積為s2,價值為v2。輸入均為32位帶符號的整數。你的任務是最多能裝多少價值的寶物?方法 其實也沒那麼不好想,關鍵是要冷靜下來一步步分析,如何降低列舉的數量。首先立馬想到的肯定是性價 比高的先裝,但問題是...
UVA12325 注意提高效率的思路
題目大意 你有乙個體積為n的箱子和兩種數量無限的寶物。寶物1的體積為s1,價值為v1 寶物2的體積為s2,價值為v2。輸入均為32位帶符號的整數。你的任務是最多能裝多少價值的寶物?方法 其實也沒那麼不好想,關鍵是要冷靜下來一步步分析,如何降低列舉的數量。首先立馬想到的肯定是價效比高的先裝,但問題是會...
二分類 多分類
怎麼樣把兩類的分類的模型推廣到多類上?答 a.一對多法 one versus rest,簡稱ovr svms 訓練時依次把某個類別的樣本歸為一類,其他剩餘的樣本歸為另一類,這樣k個類別的樣本就構造出了k個svm。分類時將未知樣本分類為具有最大分類函式值的那類。b.一對一法 one versus on...