• 源自 luhong 大爷的 FJ 省冬令营模拟赛题

Statement

  • 给定一个 \(n\) 个点 \(m\) 条边的图,没有重边与自环

  • 每条边的两端点编号之差不超过 \(12\)

  • 求选出一个非空点集使其导出子图连通的方案数模 \(2\) 后的结果

  • \(n\le 50\),\(m\le\binom n2\)

Solution

  • 妙啊!!!\(\times 3\)

  • 首先我们注意到:对于一个非空图,\(2^{连通块个数}\equiv[图是否连通]\times 2(\bmod 4)\)

  • 于是考虑转化成对于所有的点集,计算出 \(2^{连通块个数}\) 的和 \(\bmod 4\) 的结果

  • 由于 \(2|4\) ,且空集的贡献为 \(1\),所以上面的结果除以 \(2\) 下取整后就是答案

  • 看上去好像好像更不好做

  • 考虑组合意义:对选出的所有点黑白染色,使得任意边的两个端点颜色相同的方案数

  • 由于边两端点之差不超过 \(12\),可以有一个 DP:\(f[i][S]\) 表示前 \(i\) 个点,最后 \(11\) 个点的状态为 \(S\)(三进制数,储存白/黑/不在点集内三种情况)

  • 转移枚举下一个点的状态即可

  • \(O(n\times3^{11})\)

Code

  • 咕咕咕

最新文章

  1. HDU 1231:最大连续子序列 解题报告
  2. Digit Root ---- 余九定理
  3. BZOJ 1004 Cards(Burnside引理+DP)
  4. javascript 学习笔记之模块化编程
  5. Exchange Server 2010/2013架构改变
  6. 自定义MVC框架(一)-(没有基于xml的)
  7. 添加Action View
  8. C/C++ 知识点---LIB和DLL的区别与使用(网摘)
  9. HDU1789 Doing Homework again
  10. Vue源码后记-钩子函数
  11. RE : 球体波浪倒计时
  12. ROS(indigo)ABB机器人MoveIt例子
  13. noip斗地主
  14. Python、Lua和Ruby三大语言脚本哪家强?
  15. 事件对象——event
  16. hdu4280 Island Transport 最大流
  17. Webpack Plugin
  18. BM25 调参调研
  19. ES bulk源码分析——ES 5.0
  20. Kali Linux菜单中各工具功能大全

热门文章

  1. 51nod 范德蒙矩阵
  2. vueX中使用namespaced
  3. jQuery 工具类函数-检测对象是否为空
  4. 【2016常州一中夏令营Day7】
  5. hibernate 大对象类型的hibernate映射
  6. Effective TestStand Operator Interfaces
  7. ArrayList中删除null元素效率比较
  8. windows 服务的安装、启动、状态查询、停止操作c++实现
  9. 跟我一起学QT_QT标准对话框_颜色选择框
  10. 洛谷$P3227\ [HNOI2013]$切糕 网络流