#P4569. 第3题-AIGC缓存复用加速策略
第3题-AIGC缓存复用加速策略
题目内容
为代表的图像和视频生成模型采用了一种逐步优化的方法:模型会多次迭代运行同一个核心算法,将初始的随机噪声逐步优化成清晰的图像或视频。随着对生成质量和视频时长要求的提高,核心算法的迭代步骤数持续增大,导致该方法的计算量急剧增加(计算量与步骤数成正比),造成应用部署困难。
为了降低计算负载,可以采用 “缓存复用” 策略:研究发现,相邻步骤的特征往往相似,当第 步和第步的特征高度相似时,我们可以直接复用第 步的计算结果,跳过第 步的计算。对于总共 步的优化过程,如果跳过 步,计算量就能降低为原来的。
然而,跳过步骤会带来图像和视频生成质量的损失。用一个长度为 的损失值列表来记录跳过每一个步骤所带来的损失:列表中的第 个元素()表示在第 步时复用第步的计算结果(即跳过第步计算)所导致的损失值。为了保证生成质量,不能连续跳过 个及以上步骤(即不能连续复用)。请设计一个函数,在给定总迭代步骤数、需要跳过的步骤数,以及损失值列表的情况下,寻找最优的跳过策略,输出最小的总损失值。
输入描述
- :正整数 ,表示总迭代步骤数()。
- :正整数 ,表示需要跳过的步骤数()。
- :损失值列表,以空格分隔的 个正整数。第 个值()表示跳过第 步(复用第 步的计算结果)所带来的损失值。每个损失值均为小于 的正整数。
输出描述
: 如果没有找到合适的解,输出 ;否则输出最小的总损失值。
样例 1
输入
6
2
2 1 2 4 5
输出
4
说明
跳过第 个步骤和第个步骤,总损失值为 。由于不能连续跳过 个步骤,因此不能跳过步骤和步骤,或跳过步骤 和步骤 。
样例 2
输入
6
4
2 1 2 4 5
输出
-1
说明
总迭代步骤数为 时,无法跳过 个不连续的步骤,因此返回。