解题思路
把出现次数最多的类型当作骨架,用冷却长度把它们拉开,其余类型去填空档。
- 统计每种大写字母的出现次数,记最大次数为 mx,达到 mx 的种类数为 kinds。
- 先排 mx 个「最高频」单据,相邻两次之间至少空出 G 个位置,形成 mx−1 段,每段长度为 G+1,最后再并排放下 kinds 个并列最高频类型。骨架长度为 (mx−1)×(G+1)+kinds。
- 若其它单据填不满这些空档,答案就是骨架长度;否则没有空转,答案等于总张数 P。
- 因此最短时间为 max(P,(mx−1)×(G+1)+kinds)。