摘要: 如果两个相邻的串可行,那么它们合并后一定可行,所以求出所有可行的串的个数$t$,则$ans=2^{t-1}$。 注意特判整个串不可行的情况,这个时候答案为0。 #include<cstdio> int n,m,i,t,ans;char a[300010]; int main(){ for(scanf 阅读全文
posted @ 2016-03-08 20:41 Claris 阅读(221) 评论(0) 推荐(1)
摘要: 找到一棵dfs搜索树,给每条非树边一个随机非0权值,每条树边为所有经过它的树边的权值的异或。 那么有2种情况是合法的: 1.一条边权值为0,一条边权值非0。 2.两条边异或和为0。 排序后统计即可,时间复杂度$O(m\log m)$。 #include<cstdio> #include<algori 阅读全文
posted @ 2016-03-08 14:05 Claris 阅读(656) 评论(0) 推荐(1)