摘要: 对每个i,预处理以i结尾的AA数量f[i],以i开头的BB数量g[i],答案就是Σf[i]*g[i+1]。朴素地求f,g,时间复杂度是O(n^2)的。考虑枚举A的长度len,把是len倍数的位置标位关键点,则每个AA必定跨过恰好2个关键点。枚举每一组关键点,可以O(1)统计出跨过它们的AA。关键点数量是调和级数。所以总复杂度O(n log n)。 阅读全文
posted @ 2020-07-18 17:45 duyiblue 阅读(249) 评论(0) 推荐(1) 编辑