sale[i]表示第i种折扣需要凑够的最少的钱,a[i,j]表示某商品的数量,b[i,j]表示某商品的价格属于第i种商品的价格
针对每种折扣都满足下列约束条件:
min(a[i,1]*b[i,1]+b[i,2]*b[i,2]+...a[i,k]*b[i,k])>sale[i]
要求一个a[]的组合使得满足折扣sale[i]条件下花的最小的钱cost[i] (怎么解决?多重循环时间复杂度太高,难不成用同余定理?)
得到剩余的钱=累加cost[i]-累加slae[i]的折扣
最后用剩余的钱尽量多的买东西(这个简单)
大家看看有什么解法比较好,我被卡在下划线的那步,不知道用什么方法好