CF802I Fake News (hard) (后缀数组+单调栈)
2021-03-02 19:26
标签:yam include tac getchar printf tin space || mis 这个题和 CF123D 很像,代码只有一点点不同。 首先看到子串的问题容易想到后缀数组,所以我们可以先对字符串求一遍后缀数组以及 接下来怎么做?我们其实可以想得到单调栈。我们可以考虑对于 时间复杂度 \(O(n\log n+n)\)。 对于单调栈的思考,我有一个小技巧,可以通过画柱形图来帮助思考,这样会很直观 CF802I Fake News (hard) (后缀数组+单调栈) 标签:yam include tac getchar printf tin space || mis 原文地址:https://www.cnblogs.com/huayucaiji/p/CF802I.htmlCF802I Fake News (hard)
height
数组。height
数组维护一个单调递增的栈。一旦我们要弹出栈顶元素时,我们就知道他一定会对答案做出新贡献,即 \(cnt(s,p)>1\)。我们只需要把这些有新贡献的串的个数算出来,然后把其他只出现过一次的串的数量统计出来,答案就算出来了。//Don‘t act like a loser.
//This code is written by huayucaiji
//You can only use the code for studying or finding mistakes
//Or,you‘ll be punished by Sakyamuni!!!
#include
文章标题:CF802I Fake News (hard) (后缀数组+单调栈)
文章链接:http://soscw.com/index.php/essay/59166.html