洛谷P2392 揹包問題

2021-10-06 02:42:37 字數 2171 閱讀 5973

看完題目就感覺是個貪心,樣例也能推過去,於是交了以下**:

/*

* @author: hesorchen

* @date: 2020-04-14 10:33:26

* @lastedittime: 2020-05-13 14:29:51

* @link:

*/#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

#define endl '\n'

#define pi cos(-1)

#define pb push_back

#define ll long long

#define inf 0x3f3f3f3f

#define mod 1000000009

#define lowbit(abcd) (abcd & (-abcd))

#define fre \

ll a1[50]

;ll a2[50]

;ll a3[50]

;ll a4[50]

;int

main()

l =1, r =2;

while

(l <= s2)

l =1, r =2;

while

(l <= s3)

l =1, r =2;

while

(l <= s4)

cout << ans << endl;

return0;

}

結果乙個測試點都沒過。看了一下題解,發現很多人都以為是貪心,果然沒有經過系統證明的猜想都是耍流氓

解題思路:我們可以將每一門課的複習點分成兩組,並且保證兩組的差值盡可能小,那麼就可以轉換成01揹包問題,揹包的最大容量為sum

2\frac

2sum

​,求出揹包最多能裝多少物品。結果就是sum

−sum

2sum-\frac

sum−2s

um​ac**:

/*

* @author: hesorchen

* @date: 2020-04-14 10:33:26

* @lastedittime: 2020-05-13 14:57:12

* @link:

*/#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

#define endl '\n'

#define pi cos(-1)

#define pb push_back

#define ll long long

#define inf 0x3f3f3f3f

#define mod 1000000009

#define lowbit(abcd) (abcd & (-abcd))

#define fre \

ll a1[50]

;ll a2[50]

;ll a3[50]

;ll a4[50]

;ll dp[

500000];

intmain()

洛谷p2392考前臨時抱佛腳(動態規劃和搜尋)

kkksc03 的大學生活非常的頹廢,平時根本不學習。但是,臨近期末考試,他必須要開始抱佛腳,以求不掛科。這次期末考試,kkksc03 需要考 4 科。因此要開始刷習題集,每科都有乙個習題集,分別有s1,s2,s3,s4 道題目,完成每道題目需要一些時間,可能不等 a1,a2,as1 b1,b2,b...

洛谷 P1060 01揹包

金明今天很開心,家裡購置的新房就要領鑰匙了,新房裡有一間他自己專用的很寬敞的房間。更讓他高興的是,媽媽昨天對他說 你的房間需要購買哪些物品,怎麼布置,你說了算,只要不超過n元錢就行 今天一早金明就開始做預算,但是他想買的東西太多了,肯定會超過媽媽限定的n元。於是,他把每件物品規定了乙個重要度,分為5...

洛谷p1049 01揹包

dp水之旅 揹包有乙個箱子容量為v 正整數,0 v 20000 同時有n個物品 0 n 30,每個物品有乙個體積 正整數 要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。輸入格式 乙個整數,表示箱子容量 乙個整數,表示有n個物品 接下來n行,分別表示這n 個物品的各自體積 輸出格式 乙個...