首页 > 其他 > 详细

模拟测试109

时间:2019-11-11 11:19:11      阅读:65      评论:0      收藏:0      [点我收藏+]

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

  但是转移是O(k^2)的。

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

  还可以进一步优化。

  预处理出$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)$。

模拟测试109

原文:https://www.cnblogs.com/hz-Rockstar/p/11833432.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!