这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
2020-2021:teams:alchemist:2020_nowcoder_multiuniversity_1 [2020/07/16 21:09] hardict [F] |
2020-2021:teams:alchemist:2020_nowcoder_multiuniversity_1 [2020/07/16 23:33] (当前版本) mountvoom [A] |
||
---|---|---|---|
行 11: | 行 11: | ||
====== 题解 ====== | ====== 题解 ====== | ||
+ | ===== A ===== | ||
+ | 论文题,题解说最终的顺序是求出B-function以后的后缀数组的顺序,原理不懂。 | ||
+ | |||
+ | 比赛时的想法是快速比较任意两个串的B-function,先把原串的B-function求出来,任意一个后缀的B-function都是原串B-function的一个后缀,再把第一个a和第一个b的位置变成0。 | ||
+ | |||
+ | 而有一个0肯定在第一个位置,那么对原串的B-function求一个后缀数组,利用他们的LCP分类讨论第二个0的位置即可快速比较,最后直接排序即可。 | ||
===== D ===== | ===== D ===== | ||
行 102: | 行 108: | ||
比赛中我每次扩容后求出了所有最优路径并算前缀和,但一直$TLE$ | 比赛中我每次扩容后求出了所有最优路径并算前缀和,但一直$TLE$ | ||
- | 后发现不用计算具体路径,保留每次扩容最小费用就行,只要按从扩容顺序选取,那路径一定存在(不按顺序可能矛盾) | + | 后发现不用计算具体路径,保留每次扩容最小费用就行,只要按从扩容顺序选取,路径虽然会变化但扩容时扩容路径就算走反向边改变路径也不会改变整体费用,也一定有对应路径存在(不按顺序可能矛盾) |
by Hardict | by Hardict |