poj3211 轉換 01揹包

2021-07-15 04:59:59 字數 1010 閱讀 4233

題意:

有個很忙的人要洗衣服;

衣服有 m 種顏色,有n堆;

題目說必須把一種顏色的衣服洗了才能洗其他顏色的;

每一堆衣服都有乙個洗的時間和顏色;

每次洗衣服都可以洗兩堆;

求洗衣服的最短時間;

理解:又是乙個01揹包;

根據題意可知,每一種顏色有乙個最短時間值;

求每一種顏色的最短時間值就是用01揹包;

就是就算在所有時間中找出和最接近 sum / 2 的最大值;

遞推式:dp[i] = dp[i] + dp[i - v[i]] + v[i];

初始值都為0;

**如下:

#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

typedef long long ll;

typedef pairpii;

const int min_inf = 1e-7;

const int max_inf = (1e9) + 7;

#define x first

#define y second

typedef pairpis;

int main()

vectorvec(n);

for (int i = 0; i < n; ++i)

int ans = 0;

for (int i = 0; i < m; ++i)

}vectordp(sum / 2 + 10, 0);

for (int j = 0; j < v.size(); ++j)

}ans += max(dp[sum / 2], sum - dp[sum / 2]);

}cout << ans << endl;

}return 0;

}

POJ1276 多重揹包(01揹包 完全揹包)

多重揹包模板題,給定揹包容量 v 給定 n 種物品,每種物品的個數 n i 體積 v i 和重量 w i 已知,求揹包能裝下的物品的最大重量。對應本題就是,給定提款的金額cash,給定 n 種錢幣,每種錢幣的個數為 n i 面額 d i 已知,求能兌換的錢幣的最大值。本題中,體積和重量都等於面額。7...

dp揹包之01揹包poj2184

題意 給定兩個屬性,求這兩個屬性的和的最大值.思路 將第乙個屬性往後平移1000個單位,然後推導其動態轉移方程,若是dp i 代表當加入第乙個屬性加到i時,符合題意的第二個屬性的最大值.題意是兩個屬性的和的最大值,那麼動態轉移方程必然不是dp j max dp j dp j s i 0 s i 1 ...

陣列01 轉換方法 字串

let a 1,2,3,4,5 1.tostring 返回由陣列中每個值的等效字串拼接而成的逗號分隔的字串。a.tostring 1,2,3,4,5 陣列中的每個值都會呼叫tostring 方法,然後用逗號分隔得到最終字串。2.tolocalstring a.tolocalstring 1,2,3,...