購物(優先佇列,DP)

2021-10-08 20:23:14 字數 703 閱讀 3723

思路:這道題可以用dp寫也可以用優先佇列寫,我用的是優先佇列,首先就是將每一天的**sort排序,至於格外要支付k*k的費用只需要將陣列處理一下就好,a[i][j] = a[i][j]+2*j+1;

然後按天數把當天的所以糖果的**放入優先佇列,再將最先出隊的買了,這樣就可以保證費用少。

#include

using

namespace std;

int a[

310]

[310];

priority_queue<

int,vector<

int>

,greater<

int>

>q;

//定義乙個優先佇列,

intmain()

sort

(a[i]

,a[i]

+m);

for(

int j=

0;jfor(

int i=

0;i) sum +

= q.

top();

q.pop();

} cout<

return0;

}

ZOJ 3632 dp 優先佇列

上個禮拜學長講了優先佇列的說.emmmmmm.看著題解敲了一題.先m下。include include include include include includeusing namespace std struct gua 這裡手殘漏了個分號導致螺旋報錯 priority queueque in...

2017紀中11 8 購物 貪心 優先佇列

題面 這題有點像samjia2000出的三元組。考慮把物品按qi從小到大排序,那麼一定有乙個分界點,使得在這個點之前的物品要麼買pi要麼買qi,這個點之後的物品要麼買pi,要麼不買 可以想象一下如果之前有乙個x不買,之後有乙個買qy,買qx不買y一定更優 於是設s i 為使用至多k張優惠券買下1 i...

DP 硬幣購物

題意 一共有4種硬幣。面值分別為c1,c2,c3,c4。某人去商店買東西,去了tot次。每次帶di枚面值為ci的硬幣,買si的價值的東西。請問每次有多少種付款方法。思路 設f i 為不考慮硬幣限制下,買價值為i的物品的方案數。那麼很容易得出f j f j c 1 f j c 2 的遞推式。注意要推完...