| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:方程如何推?谢谢In Reply To:方程如何推?谢谢 Posted by:bakey at 2005-08-20 20:43:58 /*
决策:买,不买
f[i][0]:第i种不买的情况下买前i种要用的最少钱
f[i][1]:第i种买的情况下买前i种要用的最少钱
f[i][2]:买前i种要用的最少钱
状态转移方程:
f[i][0] = min{f[k][1]+(a[k+1]+a[k+2]+..a[i])*p[k];}(1<=k<i) //把后面的都归到第k种买
f[i][1] = f[i-1][2]+(a[i]+10)*p[i];
f[i][2] = min{f[i][0], f[i][1]}
边界条件:
p[1]存最大的,所以第一种是必买的
f[1][0] = INFI
f[1][1] = (a[1]+10)*p[1]
f[1][2] = f[1][1];
wolf711988 1260 Accepted 396K 0MS G++ 1752B 2008-12-08 21:29:44
一次AC,兴奋。。。
又一道自己想出来的DP。。。。
*/
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator