题解:P10646 [NordicOI 2023] ChatNOI
light_searcher · · 题解
很妙的题。
每次加入一个字符串可以看作是一种转移,可以把这个过程抽象成一个图论问题。那么就可以把
由于每个长度为
这样子假设最终答案的字符串组质量为
那么我们可以把询问离线下来,从大到小枚举边权的种类,把边从大到小加入,然后建反图跑拓扑排序,求出每个点开始的最长路,然后更新答案即可。如果从某个点开始能经过环,那么从这个点开始就可以无限走。
由于边权种类至多是
light_searcher · · 题解
很妙的题。
每次加入一个字符串可以看作是一种转移,可以把这个过程抽象成一个图论问题。那么就可以把
由于每个长度为
这样子假设最终答案的字符串组质量为
那么我们可以把询问离线下来,从大到小枚举边权的种类,把边从大到小加入,然后建反图跑拓扑排序,求出每个点开始的最长路,然后更新答案即可。如果从某个点开始能经过环,那么从这个点开始就可以无限走。
由于边权种类至多是