POJ 1701 Dissatisfying Lift(数学推导与枚举法)
发布时间
阅读量:
阅读量
题目含义:
设有m层楼,其中第i层有K[i]位住户,电梯仅能停靠某一特定楼层,所有住户需从此楼层步行至各自住所。假设步行的楼层数为N,上楼时的不满意度计算公式为a * N + 0.05 * N * (N - 1),而下楼时的不满意度则为b * N + 0.05 * N * (N - 1)。问题要求确定电梯应停靠在哪一层,以使总的不满意度达到最小值。
参考网络上前辈的公式推导 https://ishare.iask.sina.com.cn/f/avsXq1tzeSc.html
本题关键点:
1、d[p] 表示电梯停在p层时产生的总不满意度
通过比较d[p + 1]与d[p]之间的差异,将其划分为三个部分
第一部分:s1 = sum{1 * K[1], 2 * K[2], …, n * K[n]},这部分数值为固定不变的常数
第二部分:通过数组s2[MaxN]进行存储,若电梯停在p层,则有
s2[p] = (b + p) * sum{K[1], K[2], … , K[p]}
第三部分:通过数组s3[MaxN]进行存储,若电梯停在p层,则有
s3[p] = (a - p - 1) * sum{K[p + 1], K[p + 1], … , K[n]}
d[p + 1] - d[p] = -s1 + s2[p] - s3[p]
全部评论 (0)
还没有任何评论哟~
