我正在重新尝试这个问题陈述,现在比赛已经结束(所以它不是作弊或任何东西,只是想学习,因为没有公布答案,只有给定测试用例输入文件的正确输出)。
有 10 个给定的测试用例输入,要提交相关的输出文件。我最初的提交是一个朴素的嵌套 for 循环 (start,end) 对的实现,回答了以下问题:从 (0-based) index开始,到(inclusive)start
结束的子字符串的波动性度量是什么。end
显然,对于 10 6的最大问题限制,O(N 2 ) 是不可行的,所以我只得到了正确的 5/10 测试用例(当然,第一个 - 也是更简单的 - 5)。
因此,我在这里写信是为了寻求关于如何改进我的算法的人群情报,即我怀疑嵌套的 for 循环(开始,结束)是优化的主要瓶颈(当然!)到目前为止,我'已经沿着尝试将其表述为字符串/子字符串问题的动态规划(DP)的路线,但在提出状态表示和转换位以便可以实现DP方面没有任何成功。
为了便于参考,并表明这不是家庭作业,我已经诚实地尝试过,我的原始提交可在此处找到。
非常感谢任何帮助,甚至是类似问题的链接,我可以通过谷歌搜索教程博客文章/示例解决方案/赛后编辑分析。