传送门

来不及写这题了,先记个思路

20分装压已经对了
现在要缩点
先开个队列把入度为1的点都删掉
然后度为2的

\[f=f_1f_2+(k-1)g_1g_2 \]

\[g=(k-2)g_1g_2 + f_1g_2 + f_2g_1 \]

删掉一个为2的点不会新出来度为1的点(重边算两条)
然后重边可以正常缩,会形成自环
自环可以直接累乘到答案上
具体地,维护一个 unordered_set 存边
动态分配边的编号
每次选为2的点,合并与其相连的两条边即可
代码没空写了,先咕了