摘要: 容斥原理是计数方法中一个重要的原理,在算法竞赛中也经常考到(大概是因为需要大量计算吧。。。。)容斥原理有个经典题目:一个班每个人都有自己喜欢的科目,有20人喜欢数学,10人喜欢语文,11人喜欢英语,其中3人同时喜欢数学语文,3人同时喜欢语文英语,4人同时喜欢数学英语,2人都喜欢,问全班有多少人?这个肯定不可以20+10+11的简单计算,因为有人喜欢多个科目,会重复计算,在之前基础上-3-3-4,这时候会发现全部都喜欢的被多减了,再+2。得到班级人数=20+10+11-3-3-4+2设喜欢数学的为A,喜欢语文的为B,英语为C,那么可以得到会发现奇数个集合前面是+,偶数个是-。推广到一般情况也符合 阅读全文
posted @ 2014-01-12 16:26 Chenyao2333 阅读(2903) 评论(0) 推荐(1)
摘要: 二分图点权最大独立集:带点权二分图G中的一个子集V,其中一条边的两个端点不能同时属于V,且V中点权和最大。点覆盖集的补集就是独立集,因为点覆盖集中每个边都至少被一个点覆盖,补集就不可能存在一条边的两个端点。那么显然:二分图点权最大独立集=二分图点权和-二分图最小点权覆盖集关于如何求二分图最小点权覆盖集找了好多内容,找到了一个不错的,就转过来了:以下内容转载自:http://blog.csdn.net/bysen32/article/details/7475685点覆盖集:无向图G的一个点集,使得该图中所以边都至少有一个端点在该集合内。形式化的定时意思点覆盖集为V'∈V,满足对于所有的( 阅读全文
posted @ 2014-01-03 00:25 Chenyao2333 阅读(1241) 评论(0) 推荐(0)
摘要: 2-SAT问题:有n个bool变量x1,x2....xn,还有一些必须满足的条件。这些条件列如“x1为假或x2为真”,即“x1假x2假”、“x1假x2真”、“x1真x2真”。求解2-SAT问题的算法有很多,有一种效率还不错,实现方便又理解方便的算法。注意例子中的那个条件“x1为假或x2为真”,在x1为假的时候x2可以为任意值,但在x1为真的时候,x2为满足条件必须是真。也就是说x1为真可以推导出x2为假、x2为假可以推导出x1为真。换成一般的情况,已知xa→xb',则xb→xa'、已知xa'→xb,则xb'→xa(xi表示真xi'表示假)这个称为对称性, 阅读全文
posted @ 2013-12-15 16:10 Chenyao2333 阅读(1263) 评论(0) 推荐(0)