uf_:: UnionFind s,
adj_:: Map Int [Int],
--queries_:: Array Int (Array Int Int),
queries_:: Map Int [Int],
result_:: H.HashTable s (Int, Int) Int,
visited_:: STUArray s Int Bool
}
и хочу создать инстанс
testLCA = do
let n = 11
let uf = newUnionFind n
let treeAdj = fromList [(1,[3,2]),(3,[5,4]),(4,[7,6]),(5,[10,9,8])]
let queriesMap = M.fromList [(2,[9,8,5]),(3,[8]),(4,[9,5]),(5,[4,2]),(8,[3,2]),(9,[4,2])]
let res = H.new
let visited = newArray (0, n-1) False
liftM5 LcaOffline uf treeAdj queriesMap res visited
pure ()
Компилятор говорит, указывая на queriesMap:
• Couldn't match type ‘Map k0’ with ‘ST s’
Expected type: ST s (Map Int [Int])
А как мне его запихнуть в ST?
M это алиас на что?
Обсуждают сегодня