2021/10/26测试
T1
线性DP,直接转移是\(O(n^2)\)的复杂度,通过记全局加标记\(lazy\)可以实现\(O(n)\)复杂度转移。
T2
直接枚举数对为\(O(n^2)\)的复杂度,肯定要超时。所以考虑桶处理。记t[i]为度数为i的点个数,先不考虑两点之间的重复计算的边,a[i]表示上述情况下影响边数为i的数对个数。又因桶的种类数为\(2\sqrt{m}\)(一条边添加2个度,总共2m个度,最坏情况是度为1有1个,度为2有1个,以此类推,1+2+…+x=2m,x约为\(2\sqrt{m}\)),枚举桶处理a[i]复杂度为\(O(4m)\),最后通过前向星枚举边,修改a[i]的意义为答案为i的数对个数\((a[du[u]+du[v]]--; a[du[u]+du[v]-cnt[v]]++;)\),统计后缀和输出即可。
本文来自博客园,作者:一张十万元,转载请注明原文链接:https://www.cnblogs.com/Jason--Yang/p/15468381.html

浙公网安备 33010602011771号