首页 > 团结就是力量
头像 苟且的狮子
发表于 2020-08-19 15:38:39
字符串同构,tarjan,hash 题意: 分析: 不难想到用tarjan算法,将互相愿意组队的人员划分出来。但是,稍微有困难把你的便是:如何计算这只队伍的团结系数呢? 这里牵扯到了一个知识点:字符串同构!!对于字符串a,和字符串b我们知道a经过一定的循环就会变成b。我们称a与b同构。那么倘若我 展开全文
头像 asdbsa
发表于 2023-05-10 18:49:48
Tarjan 排序 分析: 很显然这题需要使用tarjan求一遍强连通分量,答案就是每个强连通分量的本质相同的字符串的个数的最大值。 首先考虑对字符串的处理,可以选择hash或者是排序。很显然,对于每个本质相同的字符串排序后一定也是相 同的,只需要用一个map存储每个排序后的字符串的个数,在每次求完 展开全文
头像 TheOnlyMan
发表于 2021-09-01 20:10:31
楼上已经提到了字符串同构,我这里也有个好玩的解法。就是对原始串求哈希值,然后对这串字符串直接滚动,可以知道求解所有字符串的同构字符串的哈希值的复杂度为 。 为字符串长度。其中因为存在对大数进行存储的map,总的求所有字符串归属集合的复杂度为 。当然你也可以弄个小点的模数,然后限定在数组可达的范围内就 展开全文