jzoj100044】的更多相关文章

完全背包問題 我們可以將數組內每個元素看成一個物品,這樣問題就轉化成: 現有n個物品,每個物品可以取a[i]~b[i]個,價值為d[i],費用為c[i],問怎麼樣取讓費用為0且價值最大 我們可以先每種物品取a[i]個,這樣每個物品變成了可取0~b[i]-a[i]個 記之前c總和為va,則現在我們要取-va才能使總和為0 多重背包即可,要加二進制優化 #include<bits/stdc++.h> using namespace std; #define N 2000010 int a[N],b…