热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

对于《由对称性解2

问题:微软笔试题——hihocoder.comproblemsetproblem1108最初想法,仍有待验证:bbs.bccn.netthread-441260-1-1.html最初想法是:只有成对出现的约束,120,才能够对问题进行限制,对问题结果照成影响,因此只需要考虑成对出现的约束

问题:微软笔试题——http://hihocoder.com/problemset/problem/1108 最初想法,仍有待验证:http://bbs.bccn.net/thread-441260-1-1.html 最初想法是:只有成对出现的约束,1 2 0,才能够对问题进行限制,对问题结果照成影响,因此只需要考虑成对出现的约束

问题:微软笔试题——http://hihocoder.com/problemset/problem/1108


最初想法,仍有待验证:http://bbs.bccn.net/thread-441260-1-1.html

最初想法是:只有成对出现的约束,1 2 0,才能够对问题进行限制,对问题结果照成影响,因此只需要考虑成对出现的约束。对于成对出现的节点,在构图中有

1 2 1

无向边进行连接,然后检测最终构图中是否存在节点个数为奇数的环,从而得到最后的结果。



解答:http://blog.csdn.net/kk303/article/details/42869039


由对称性解2-sat问题:http://wenku.baidu.com/link?url=G8jqWFFet0uc164GJnXwyCtJRoi0DQH0U1aoDIRdI7sdSS7R7-h6iacr4cENA808XvkbUV7Atj3MZxTP_r4gksh_IwXV1Bn76YRRMTwSIWq



1.问题模型:

存在n组元素

A1 A2 A3 ... An
~A1 ~A2 ~A3
... ~An

规定每组元素中能且仅能选择一个,同时给定m组约束(Ai,Aj),约束也可能是(Ai,~Aj)。一组约束中的两个元素相互冲突,不能同时被选择。


求解是否能在约束限制下,在n组元素中选择出n个元素。若能,进行选择。


2.解法:步骤(1):对每对约束(Ai,Aj)。因为存在关系选择 Ai 则必须选择 ~Aj ,而选择 Aj 则必须选择 ~Ai ,因此在构图( 图的节点个数为2n)时,对于(Ai,~Aj),(Aj,~Ai)添加有向边

步骤(2):在构图中查找极大强连通分量。将强连通分量转化为节点。这个步骤叫做缩图。

步骤(3):查找是否存在(Ai,~Ai)处于同一个强连通分量中,如果存在,问题无解,程序终止。

步骤(4):根据拓扑排序找到一个可行解。

推荐阅读
  • Python 内存管理机制详解
    本文深入探讨了Python的内存管理机制,涵盖了垃圾回收、引用计数和内存池机制。通过具体示例和专业解释,帮助读者理解Python如何高效地管理和释放内存资源。 ... [详细]
  • C#设计模式学习笔记:观察者模式解析
    本文将探讨观察者模式的基本概念、应用场景及其在C#中的实现方法。通过借鉴《Head First Design Patterns》和维基百科等资源,详细介绍该模式的工作原理,并提供具体代码示例。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • Ulysses Mac v29:革新文本编辑与写作体验
    探索Ulysses Mac v29,这款先进的纯文本编辑器为Mac用户带来了全新的写作和编辑环境。它不仅具备简洁直观的界面,还融合了Markdown等标记语言的最佳特性,支持多种格式导出,并提供强大的组织和同步功能。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 主板IO用W83627THG,用VC如何取得CPU温度,系统温度,CPU风扇转速,VBat的电压. ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 解决TensorFlow CPU版本安装中的依赖问题
    本文记录了在安装CPU版本的TensorFlow过程中遇到的依赖问题及解决方案,特别是numpy版本不匹配和动态链接库(DLL)错误。通过详细的步骤说明和专业建议,帮助读者顺利安装并使用TensorFlow。 ... [详细]
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • 本文详细介绍了流编辑器sed中的G、H、g、h命令,探讨了它们的工作原理及应用场景。通过实例解析和图解分析,帮助读者掌握这些高级命令的使用方法。 ... [详细]
author-avatar
手机用户2602928363_688
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有