考前被奶了,然后没什么感觉,很冷静的水完T1,本来一直以为这会是套水题,然后才发现T2T3不可做,心态很炸地写完了,T2暴力写错了很多东西,调了好久
T1淼题
T2「状压DP」「边化点」
首先根据n很小可以想到状压
60%算法:
根据拓扑序构造DAG
定义f[s][ss]表示构造出来的DAG中 选出来的点集是s,最新的一层的点集是ss,不同的边集的方案总数
考虑转移,只要保证新加的点集中每个点都被ss中某点所指,也就保证了拓扑序,
而且这样也不会有往回指的边,所以不会有环
转移方程是$f[s|k][ss]=\sum\ \ f[s][ss] \times \prod 2^{cnt1_i}\times (2^{cnt2_i}-1)$
其中$cnt1_i$是$s \oplus ss$连向k中i点的边数,$cnt2_i$是ss中连向的边数