Luogu P1850 换教室(NOIP 2016) 题解报告

题目传送门

【题目大意】

我懒得概括了就直接截图

【思路分析】

这一题看到“最小”,于是想到可以用DP,那么我们来推一下状态转移方程。

首先设状态f[i][j][k]表示第i个时间段的课程,在此之前已经申请了j节课换教室,然后k=1表示第i个时段的课申请了换教室,k=0则表示没有申请的最小期望值。

那么状态转移方程为:(设第i-1节课原本的教室在x1,调换后的教室为y1,第i节课的两个教室分别为x2和y2,dis[a][b]表示从教室a到教室b消耗的体力)

f[i][j][1]=min{f[i-1][j-1][1]+dis[x1][x2]×(1-p[i-1])×(1-p[i])+dis[x1][y2]×(1-p[i-1])×p[i]+dis[y1][x2]×p[i-1]×(1-p[i])+dis[y1][y2]×p[i-1]×p[i],f[i-1][j][0]+dis[x1][x2]×(1-p[i])+dis[x1][y2]×p[i]}

f[i][j][0]=min{f[i][j-1][1]+dis[x1][x2]×(1-p[i-1])+dis[y1][x2]×p[i-1],f[i][j][0]+dis[x1][x2]}

敲代码时还要先用Floyd预处理出dis数组。

【代码实现】

猜你喜欢

转载自www.cnblogs.com/THWZF/p/10809001.html