每个单词可以看做一条边,每个字母就是顶点。有向图欧拉回路的判定,首先判断入度和出度,其实这个题判定的是欧拉通路,不一定非得构成环,所以可以有一个点的顶点入度比出度大1,另外一个点的出度比入度大1,或者每个点的出度和入度相等。用并查集判断是否弱联通。最后dfs求出欧拉路径,不过这个题是让求字典序最小的...
分类:
其他好文 时间:
2015-10-24 10:04:00
阅读次数:
238
题意:求混合图的欧拉路径。这题的困难之处在于无向边只能用一次,相当于一个方向未定的有向边。首先用并查集判断图的连通性,(直接计数O(1),做1395 Slim Span学到的技巧)。我们知道有向图的欧拉路径存在的充要条件是最多两个点的入度不等于出度,而且相差为1,这题不需要考虑这种情况,只需要所有点...
分类:
其他好文 时间:
2015-08-27 20:57:22
阅读次数:
249
Problem
给N个三元字符串SiS_i,每个字符串只含有3个字符。现将N个字符串任意排序,使得对于i∈[1,N?1]i\in[1,N-1]满足Si[1..2]=Si 1[0..1]S_i[1..2]=S_{i 1}[0..1]成立(比如:aba,bab,abc,bce)。问是否可以成立,若可以输出合并后的字符串(比如:aba,bab,abc,bce->ababce)...
分类:
其他好文 时间:
2015-02-07 17:31:03
阅读次数:
184
题意:
n(10^5)个串每个串3个字符 两个串abc、xyz能拼在一起前提是b=x&&c=y 它们能拼成ab(x)c(y)z 求n个串品在一起的串
思路:
将串abc变成ab->bc的一条边 则原题变成了有向图的欧拉路径问题
有向图欧拉路径算法就是遍历 因为欧拉路径其实就是“每条边走一遍”
代码:
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2015-01-29 19:32:03
阅读次数:
211