2024.7.9 鲜花

頭ン痛 - feat. 重音テト

我没找到 QaQ

prufer 序列,简单来说就是 n 个节点的树双射一个长度 n2 值域 [1,n] 的序列。

构造过程就是每次删一个编号最小叶子,记录其父节点。

本图来自baoziwu2,侵删

显然堆 nlogn 可做,也可以扫一遍所有标号,对于已经删除的父节点,判断其度数和标号是否该选,分讨可做 O(n)

然后有定理:

k 个点完全图有 kk2 棵生成树。

n 个点的图有 k 个联通块,第 i 个联通块点数为 si ,添加 k1 条边使其联通,有 nk2×i=1ksi 种方案。

证明可以考虑缩点后为生成树,考虑每个联通块内的点个数,可以得到。

例题 P6596 How Many of Them

updata:找到板子了 CF156D

简要题解

首先将至多容斥成至少,然后考虑可以先求出有 m+1 个连通块的个数,可以 dp,在加 m 条边联通,乘上 nk2×i=1ksi 即可。

直接 DPn3,可以用多项式优化到 n2logn,但我不会

图——from STA_Morlin 为什么不让折叠捏???

posted @   5k_sync_closer  阅读(44)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示