兩個約束下的dp問題

2022-03-11 14:31:39 字數 389 閱讀 5029

洛谷p1510

分析:本質上還是乙個01揹包,將體力當做重量,體積當做價值。配上滾動陣列

即dp[j]代表在體力耗費為j時最大能搬運多少體積的石頭,當dp[j]>v時就說明存在滿足情況的解,這樣,就選擇最小的j就可以了

#includeusing namespace std;

typedef long long ll;

const double pi=acos(-1);

int a[10010],b[10010];

int dp[10010];

int main()

} }if(ans!=-1) cout

return 0;

}

dp入門與兩個基礎的揹包問題

引子 第乙個問題 現在有3種硬幣,1角錢,2角錢,3角錢,那麼問題來了湊出n角錢最少需要多少硬幣。這個問題可以用貪心法解決。如果n比3大,那麼一直取3就好了。最後少的要麼是2,要麼是1,所以答案是n 3 n 3 1 0 第二個問題 現在有3種硬幣,2角錢,3角錢,5角錢,那麼問題來了湊出n角錢最少需...

P V 的兩個問題

有兩類程序 a 和 b,乙個資源 t。兩類不能同時使用乙個資源 t。可以有至多 n 個 a 同時使用 t,或者至多 m 個 b 同時使用 t。semaphore cnta 0 semaphore cntb 0 semaphore mutext 1 semaphore mutexa 1 semapho...

兩個問題的對比

問題1 cf390c 給定若干行聊天記錄 發言人 話 有些聊天記錄的 發言人 是缺失的,已知相鄰對話發言人一定不同,且每個發言人說的話裡都不會包含自己的名字,現給定可能的發言人的集合,請填充每個對話的發言人.來自codeforces round 390 問題2 lc36 給定乙個9 9的矩陣,有些元...