摘要: 考虑构造一组可行解,把每个点拆成两个点x0,x1,x0表示后勤组织,x1表示同谋者。若x与y认识,则x1向y0连边。若x与y不认识,则x0向y1连边。如此求出一组2-SAT的可行解,如果无解则答案为0。若有解,那么最多只能把一个人从后勤组织改为同谋者,也最多只能把一个人从同谋者改为后勤组织。于是预处... 阅读全文
posted @ 2015-08-05 23:25 Claris 阅读(491) 评论(0) 推荐(0) 编辑
摘要: 如果两个环相交,那么相交的部分相当于没走。因此一定存在一种方案,使得里面的环都不相交。把不需要改变状态的边都去掉,剩下的图若存在奇点则无解。否则,每找到一个环就将环上的边都删掉,时间复杂度$O(n+m)$。#includeconst int N=2000010,BUF=20000000;int n,... 阅读全文
posted @ 2015-08-05 17:22 Claris 阅读(584) 评论(0) 推荐(1) 编辑
摘要: 暴力枚举$k$,对于一个子串,计算它正着的hash值以及反着的hash值,取最小值得到其最终hash值。对于$k$,一共有$\lfloor\frac{n}{k}\rfloor$个子串,计算出它们的最终hash值即可统计出不同子串的个数。时间复杂度$O(n\log n)$。#includetypede... 阅读全文
posted @ 2015-08-05 01:01 Claris 阅读(414) 评论(0) 推荐(0) 编辑