题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1816

思路:首先将每把钥匙i拆成两个点i和i+2n,分别表示选与不选,对于被分成n对的钥匙,由于只能选择其中的一把,所以加边(i,j+2n),(j,i+2n)对于每道门所对应的两把钥匙,两边中选一把,当i不选时,则必须选择j.反之,同理。所以加边(i+2n,j),(j+2n,i).二分所能打开门的数量,再用2-sat来判断可行性 .

http://paste.ubuntu.com/5976255/

最新文章

  1. 技术杂记-改造具有监控功能的数据库连接池阿里Druid,支持simple-jndi,kettle
  2. 学习PYTHON之路, DAY 8 - PYTHON 基础 8 (面向对象进阶)
  3. 交换芯片收发包的 DMA 实现原理
  4. 【BZOJ 3735】苹果树 树上莫队(树分块+离线莫队+鬼畜的压行)
  5. Bootstrap之BootstrapDialog
  6. Python基础(8)--文件
  7. Proc 和 代码块
  8. matlab练习程序(射线法判断点与多边形关系)
  9. LeetCode Closest Binary Search Tree Value
  10. Python的更多内容
  11. P143、面试题25:二叉树中和为某一值的路径
  12. Asp.net中request.QueryString与request.Params的区别 【转】
  13. mssql索引使用情况查询
  14. arcengine 实现调用arctoolbox中的dissolove
  15. spring事务管理器设计思想(2)
  16. 如何一步一步用DDD设计一个电商网站(十四)—— 回顾与总结
  17. angular路由操作中'#'字符的解决办法
  18. 使用ansible kubectl插件连接kubernetes pod以及实现原理
  19. [React] 01 - Intro: javaScript library for building user interfaces
  20. curl 与wget的区别

热门文章

  1. ubuntu查看系统版本
  2. Java solr 分词
  3. Linux程序编译链接动态库版本号的问题
  4. 通过案例对SparkStreaming透彻理解三板斧之三
  5. LVS负载均衡之DR模式部署
  6. jQuery 全选 正反选
  7. tomcat优化---大数据量提交tomcat时,tomcat无法接收导致页面无反应
  8. ubuntu各版本代号(更新至15.04)及各版本下载地址等
  9. Photoshop之学习笔记(2) - 常用快捷键
  10. 常见的开发语言(或IT技术)一览