https://codeforces.com/contest/1154/problem/F 给定m个折扣 每个折扣的{x,y}的意思是每次购买如果买到确切的x只铲子就其中的最便宜的y只铲子免付: 先贪心一波,因为要买k只,而不管折扣怎么变,怎么买,我们都要买原价最便宜的k只铲子,这贪心是对的 接着就选择折扣offers ,明显要dp解决,贪心贪不出(复杂度太高): 设dp[i]表示买i只铲子的最小花费: 所以转移方程:dp[i]=min(f[i],(选择折扣的处理)): #include<bit…