题解
写了cls的题当然要写题解辣!
题意相当于给了你一棵点数为$n$的树,每个点上有一个(a-j)的字符,求这颗树上所有本质不同字符串的个数(一条路径上起点与终点相反的两个串视为不同)。
由于所给的树叶子节点不超过20个,考虑以每一个叶子节点为起点进行dfs,建立广义后缀自动机,即在父节点的状态后加入子节点,然后求本质不同的字符串个数即可。
代码
1 |
|
写了cls的题当然要写题解辣!
题意相当于给了你一棵点数为$n$的树,每个点上有一个(a-j)的字符,求这颗树上所有本质不同字符串的个数(一条路径上起点与终点相反的两个串视为不同)。
由于所给的树叶子节点不超过20个,考虑以每一个叶子节点为起点进行dfs,建立广义后缀自动机,即在父节点的状态后加入子节点,然后求本质不同的字符串个数即可。
1 | #include <bits/stdc++.h> |