两个点从连边变成不连:枚举哪个点不在子图中 两个点从不连边变成连:枚举是否两个点都在子图中 剩下贪心 #include<bits/stdc++.h> usingnamespacestd; #define For(i,n) for(int i=1;i<=n;i++) #define Fork(i,k,n) for(int i=k;i<=n;i++) #define ForkD(i,k,n) for(int i=n;i>...
一直感觉枚举子集这种没啥可优化的,直到遇到这题,这题对时间卡的比较死,枚举子集其实是可以写的,但是双层 的枚举子集的复杂度是 ,这题是 组输入, ,然后我们可以推出贡献可以由枚举子集得到,但是这样最坏的时间复杂度是 ( ) > ,所以我们可以用完全二叉树形式的 来优化二进制的枚举子集,这个东西还是今天一个老师...