从题意入手思路题 [BZOJ1045] [HAOI2008] 糖果传递 (贪心)

[HAOI2008] 糖果传递

有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。

求使所有人获得均等糖果的最小代价。

第一行一个正整数n<=1'000'000,表示小朋友的个数.
接下来n行,每行一个整数ai,表示第i个小朋友得到的糖果的颗数.
 
其实,求什么设什么就好了。
因为,一个人的糖果的变化,只能是和左边或者右边的人互动。
设x[i]为第i+1个人,给第i个人的糖果数量(可以是负数)
x[n]表示 ,第1个人给第n个人的糖果数量。
然后就推式子就行了。
类似设方程思想。

[BZOJ1045] [HAOI2008] 糖果传递 (贪心)

[ZJOI2006]物流运输

一张图,n天,m个城市。每天从1~m走一次,花费路径长度的代价。

某些地点会在一些天内不能通行。每变更一次方案,还要另花费k的代价。

求n天总的最小代价。

n(1<=n<=100)、m(1<=m<=20)

因为,麻烦点就在路径方案的变化。所以,考虑枚举在第几天改变方案即可。

因为一切都和天数有关系,所以,

f[i]表示,前i天的最小方案。

扫描二维码关注公众号,回复: 2433168 查看本文章

cos[i][j]表示,从i~j天,不换路线,1~n最短的路径

f[i]=min(f[j]+cos[j+1][i]+k) 相当于枚举最后一次的路径走的天数。初值:f[i]=cos[1][i] (不行就是inf)

猜你喜欢

转载自www.cnblogs.com/Miracevin/p/9383425.html