http://blog.csdn.net/lych_cys/article/details/50978997 令f[i][j][S]表示以i所在的子树(不妨令1为根节点)中与图中编号集合为S的点一一对应,且i与j对应的时候的方案数,然后就可以大力转移了。这样是O(N^3*3^N)的,拿的分好像和暴力差不多再见。(听说可以用f[i][S]表示状态然后大力转移为O(N3^N)但是窝不会QAQ) 考虑容斥,枚举T表示所有点和图中集合为T的点对应的情况(不保证一一对应),然后答案就是和U(全集)一一对应的情况,容斥一下就好了。枚举是O(2^N)的,然后树形dp为O(N^3),因此时间复杂度为O(N^3*2^N),这样就可以过了。(在uoj上面卡了一下常数就过了)。