摘要: 详见分析:http://blog.csdn.net/sixdaycoder/article/details/47720471#include #include #define M 310 #define inf 0x3f3f3f3f int n,nx,ny; int link[M],lx[M],ly[M],slack[M]; //lx,ly为顶标,nx,ny分别为x点集y点集的个数 ... 阅读全文
posted @ 2016-08-23 17:51 十目 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 匈牙利算法本质就是一个个的匹配,对于当前的处理的对象i,假设他的匹配对象为j,但是j已经和v匹配好了,那么就让v去找找着能不能和别人匹配 v可以和别人匹配则i与j匹配,不能则i去找别人匹配 另外引入几个定义和结论: 1:最大匹配数 + 最大独立集 = n + m(n,m为二分图两边的节点数) 2:二 阅读全文
posted @ 2016-08-23 14:53 十目 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给N个数,有M个查询,问区间[L,R]之间有多少个数与这个区间内的其他数都互质。 思路:dp显然很难搞,既然是求区间就试试每一个数最大可以对答案产生贡献的区间,即预处理出一个数在(lp,rp)内始终与其他数互质的最大区间 则lp和rp分别为左边和右边第一个与他不互质的数的位置 处理的时候素 阅读全文
posted @ 2016-08-23 13:42 十目 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 别人实在讲得很清楚了,参考自 http://blog.csdn.net/ljd4305/article/details/10101535 再说一些,树状数组本质还是单点更新区间求和 更新的时候可以看这个例子 0101 -> 0110 -> 1000 结合更新函数和树状数组那个图应该很好理解,其实就是 阅读全文
posted @ 2016-08-23 11:10 十目 阅读(190) 评论(0) 推荐(0) 编辑