题目是古埃及神话???
A. 天空龙
傻逼模拟,看来没有滑天下之大稽QAQ,也没有打错快读(大雾...)
B. 巨神兵
难度爆增,一脸懵比.....
60分状压:
因为是求有向图,关于有向图好像拓扑用的很多,考虑到每个图的拓扑序是一定的
那么我们可以借此转移,设f[i][j]为当前点的状态为i,出度为零的点的度数为j
向下一层转移时枚举下一层的点集,那么点集S中每个点一定要和j连边,可以和i中除j以外的点连边
然后对于每个点cnt1,表示除j以外与i的连边,cnt2表示与j的连边,该点的贡献为2^cnt1*(2^cnt2-1)
100分
容斥?????
事实上不大会证,当前DP状态为一维f[i]表示当前点的状态为i,因为不知道出度为零的点是谁,那么我们
就开始大力容斥,
另外感谢zzyy大神教我卡常
for(int uu=(~i)&((1<<n)-1),s=uu;s;(--s)&=uu){ for(int l=i;l;l-=lowbit(l)){
第一个是枚举补集,第二个是取出每一位。
C. 太阳神
咕咕咕咕咕咕咕...