學習的**:
輸入的第一行包含乙個整數t,表示測試組數。每個測試用例前面都有乙個空白行。
每個測試用例由包含整數n,m,k和素數p的單行組成。
對於每個測試用例輸出乙個整數:表示不同的購買奧利奧的方式的數量z mod p的值。
示例1複製
3複製0 10 2 47
2 2 4 47
5 5 10 47
10146
在第乙個測試樣例中,我們必須購買一包2元的奧利奧,並且有10種型別。在第二個測試樣例中,我們有以下選擇:
- 購買兩包2元的奧利奧:3種方式
- 購買一包2元的奧利奧和兩包1元的奧利奧: 2 × 3 = 6 種方式
- 購買四包1元的奧利奧:5種方法
因此答案是(3 + 6 + 5)mod 47 = 14 mod 47 = 14 。
t=100題解:3 ≤ p ≤ 1000000
0 ≤ n,m ≤ 1000和1 ≤ ķ ≤ 1000
完全揹包方案數。
#include using namespace std;
const int maxn = 1 << 10;
int main()
}for(int i = 1; i <= m; i ++)
}long long res = 0;
for(int i = 0; i <= k; i ++)
cout << res << '\n';
}return 0;
}
完全揹包dp
完全揹包類似題目 不過求最小值 杭電1114 揹包九講 基本形式 有 n 種物品和乙個容量為 v 的揹包,每種物品都有無限件可用。放入第 i 種 物品的費用是 c i 價值是 w i 求解 將哪些物品裝入揹包,可使這些物品的耗 費的費用總和不超過揹包容量,且價值總和最大。基本思路 這個問題非常類似於...
DP完全揹包
written with stackedit.每件物品不限數量 轉化為0 1揹包 每個物體盡可能多放 why?遞推式為 f i j max,kw i wf i,j max forall kw i f i,j max kw i w其他思路和01揹包相同.檢查每乙個k不會造成越界的k.0 1揹包就是完全...
dp 完全揹包)
有 n n n 種物品和乙個容量是 v v v 的揹包,每種物品都有無限件可用。第 i i i 種物品的體積是 v i vi vi,價值是 w i wi wi。求解將哪些物品裝入揹包,可使這些物品的總體積不超過揹包容量,且總價值最大。輸出最大價值。輸入格式 第一行兩個整數,n,v n,v n,v,用...