网站开发三层结构,教育中介公司网站建设费用,网站建设软件哪个好,网站建设app开发收银员
题目大意#xff1a;
有n件物品#xff0c;每件物品有他的扫描时间和价格#xff0c;在扫描的时候可以偷物品#xff08;一个单位时间偷一件#xff09;#xff0c;问最少给多少钱
原题#xff1a; 解题思路#xff1a;
设f[j]为偷或买共j件花的最少钱…收银员
题目大意
有n件物品每件物品有他的扫描时间和价格在扫描的时候可以偷物品一个单位时间偷一件问最少给多少钱
原题 解题思路
设f[j]为偷或买共j件花的最少钱就得出f[j]min(f[j],f[j−t−1]c)f[j]min(f[j],f[j-t-1]c)f[j]min(f[j],f[j−t−1]c),再减一是买了的一个要么就对于jt的就是f[j]min(f[j],c)f[j]min(f[j],c)f[j]min(f[j],c)
代码
#includecstdio
#includeiostream
#includecstring
using namespace std;
int n,t;
long long c,f[2005];
int main()
{scanf(%d,n);for (int i1;in;i)f[i]130;//一个很大的值for (int i1;in;i){scanf(%d %lld,t,c);for (int jn;jt;--j)f[j]min(f[j],f[j-t-1]c);//前面买过再一次买for (int j1;jt;j)f[j]min(f[j],c);//前面没买过直接买}printf(%lld,f[n]);
}