思路来源
https://www.cnblogs.com/little-w/p/3585636.html?utm_source=tuicool
心得
用离散的蕴涵定义,把所有关系式a->b都推成¬a∨ b,
现在反其道而行之,根据逻辑真值,倒推边的关系,
n个条件,每个条件分为真、假两个点,称a为真,a’为假
可以将a->b理解为:
①若取了a,则一定要取b
②b是真值,也就是某种情况下,一定要成立的条件
若最后建的图,所有的a和a'均不在同一个强连通分量里,则原问题有解
模型总结(转载)
转载自https://www.cnblogs.com/little-w/p/3585636.html?utm_source=tuicool
模型一:两者(A,B)不能同时取(但可以两个都不选),即(A,B)至多取一个
说明:A 为假或 B 为假,选择了 A 就只能选择 B’,选择了 B 就只能选择 A’
连边 A→B’,B→A’
模型二:两者(A,B)不能同时不取(但可以两个都选),即(A,B)至少取一个
说明:A 为真或 B 为真,那么选择了 A’就只能选择 B,选择了 B’就只能选择 A
连边 A’→B,B’→A
模型三:两者(A,B)要么都取,要么都不取,即(A,B)取0个或取2个
说明:
选择了 A,就只能选择 B,选择了 B 就只能选择 A,
选择了 A’,就只能选择 B’,选择了 B’就只能选择 A’
连边 A→B,B→A,A’→B’,B’→A
模型四:两者(A,B)两个必须不相同,即要么选A,要么选B,即(A,B)恰取一个
说明:
选择了A,就不选择B;没选B,就一定要选A
选择了B,就不选A,没选A,就一定要选B
连边A’--->B B’--->A A-->B’ B-->A
模型五:两者(A,A’)必取A
连边 A’→A,根据蕴含定义,显然成立