摘要: 如果一条边可行,那么删掉这条边后,剩下的图是二分图且该边的两端点颜色相同。那么可行的边必然属于所有奇环的交集,且不属于任何偶环。随便取一棵生成树,对于一条非树边,它形成了环:若是偶环,则将环上的边都标记为不能选。若是奇环,则将环上的边经过的奇环数都加一。可以用树链剖分维护前缀和做到$O(m\log ... 阅读全文
posted @ 2015-08-17 21:41 Claris 阅读(937) 评论(0) 推荐(2) 编辑
摘要: 若直线的斜率为0或者不存在斜率,则有$nC(m,3)+mC(n,3)$种方案。若直线的斜率不为0,只需考虑斜率为正的情况,最后答案再乘以2即可。枚举两个点的坐标差,设$t=\min(n,m)$,则有:\[\begin{eqnarray*}ans&=&\sum_{i=1}^n\sum_{j=1}^... 阅读全文
posted @ 2015-08-17 17:28 Claris 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 若能得到一个和为t的区间,那么至少去掉两端点中任意一个后必定能得到和为t-2的区间。所以只需要分别找到和最大的和为奇数和偶数的区间,然后$O(n)$完成构造即可。#include#define N 1000010int n,m,i,s[N],b,c,d,t,l,r,f[N='0')&&(c='0')... 阅读全文
posted @ 2015-08-17 01:53 Claris 阅读(259) 评论(0) 推荐(0) 编辑