模拟测试109

T1:
  设$dp[i][j]$表示考虑到第$i$层,到每一个点路径的奇偶性状态为$j$的方案数。
数组

  可是转移是O(k^2)的。优化

  把每一个点的出边集合压成一个二进制数,能够将转移复杂度优化到$O(k)$。spa

  还能够进一步优化。it

  预处理出$f[i][j][0/1]$表示在第$i$层,状态为$j$时,边是否取反的方案数。二进制

  能够用lowbit找到每一个$j$的其中一位,而后递推便可。集合

  时间复杂度$O(m2^k)$。时间

T2:

  发现知足条件的对数不少,rand几组就出来了。

  能够用bitset优化匹配,多rand几组。

T3:

  考虑贪心。

  维护两个数组$f[i][j]$和$g[i][j]$表示距$i$距离为$j$有多少个节点,能够控制多少节点。

  每次消除距离为$k$和$k-1$的点,根节点消除全部点。

  时间复杂度$O(nk)$。

相关文章
相关标签/搜索