要求匹配的问题应该可以很自然的想到二分答案+网络流。
然而发现子序列的个数非常多,如果全建出来复杂度会死。
然后可以发现,某个串的多于$n$个的子序列是没有意义的,所以每个串只找出来$n$个子序列即可。
和曾经考过的一道题很像,然而那个题当时使用线段树合并过的,因为并没有强制在线。
将每个质因子的若干次幂当成一种点,每种点有一个权值,那么一个点的答案就是范围内所有出现过的种类的权值的乘积。
所以这个东西可以用树链的并来维护,也就是在dfs序相邻节点的lca处进行容斥。
所以只要将$p^k$看成是k种点,每种点的权值都是$p$,那么就可以简单的维护。
原文:https://www.cnblogs.com/hzoi-cbx/p/12451870.html