正难则反,由于途径点可以重复,因此总的路径条数是nkn^knk,减去所有红的路径条数即可,红的路径条数即为
∑k=1cntsiz[i]k\sum_{k=1}^{cnt} siz[i]^k∑k=1cntsiz[i]k
cntcntcnt为红色连通块个数,siz[i]siz[i]siz[i]为每个连通块也就是子树大小。
建树时,略过黑色的边,跑一次树的深搜,即可求得cnt,siz[i]cnt,siz[i]cnt,siz[i]
注册一个 核OJ_核桃编程 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 核OJ_核桃编程 通用账户