A题: Task Computing
原题链接:https://ac.nowcoder.com/acm/contest/33189/A
题目大意
有 nnn 台云服务器,第 iii 台具有计算效率 wiw_iwi 和传输效率 pip_ipi 。
对于一个计算任务,需要恰好在 mmm 台服务器上计算,设这 mmm 台服务器依次为 a1,a2,...,ama_1,a_2,...,a_ma1,a2,...,am 则最终计算效率为
∑i=1mwai∏j=0i=1paj\sum\limits_{i=1}^mw_{a_i}\prod\limits_{j=0}^{i=1}p_{a_j}i=1∑mwaij=0∏i=1paj
初始 a0=0,p0=1a_0=0,p_0=1a0=0,p0=1 。
求这 mmm 台服务器在最优排序下的最大计算效率。
题解
考虑在最优解中相邻的两台云服务器 ak,ak+1a_k,a_{k+1}ak,ak+1 ,设 ak=x,ak+1=ya_k=x,a_{k+1}=yak=x,ak+1=y (即 wak=wx,pak+1=pyw_{a_k}=w_x,p_{a_{k+1}}=p_ywak=wx,pak+1=py )。
则显然此时的总贡献为
W=∑i=1k−1wai∏j=0i−1paj+wx∏j=0k−1paj+wypx∏j=0k−1paj+∑i=k+2mwai∏j=0i−1pajW=\sum\limits_{i=1}^{k-1}w_{a_i}\prod\limits_{j=0}^{i-1}p_{a_j}+w_x\prod\limits_{j=0}^{k-1}p_{a_j}+w_yp_x\prod\limits_{j=0}^{k-1}p_{a_j}+\sum\limits_{i=k+2}^mw_{a_i}\prod\limits_{j=0}^{i-1}p_{a_j}W=i=1∑k−1waij=0∏i−1paj+wxj=0∏k−1paj

博客详细解析了一种针对云服务器计算效率的优化问题,探讨了如何通过排序策略最大化计算效率。文章介绍了如何利用相邻服务器的计算和传输效率关系建立数学模型,并证明了排序的传递性。此外,还提出了动态规划的解决方案,避免了后效性的影响,给出了具体的转移方程。最后,给出了C++代码实现来求解最优解。
最低0.47元/天 解锁文章
279

被折叠的 条评论
为什么被折叠?



