题意:给定连通图,求出连通图的所有子图的颜色数. 一个图的颜色数,指最少的颜色数,给图染色,使得有边相邻的点之间颜色不同. 思路:首先想法是DFS枚举,然后计算颜色,发现对于给定图,求颜色不会求? 毕竟是很乱的无向图. 那么考虑DP:dp[s]=min(dp[s0]+1),s0是s的子集,且满足s^s0是独立集. 那么复杂度是O(3^N): 因为有补集,还可以用反演DP???我第一次遇到.好菜啊,有机会补一下. #include<bits/stdc++.h> #define uint unsi…