When using the Visitor pattern, I have observed the following:

* The visitor has weak dependencies to concrete types (each visit method has the concrete element as a parameter or is a method that corresponds to a concrete element)
* The element (supertype of the concrete types) has a weak dependency to the visitor (the accept method has the visitor as a parameter)

Doesn't this mean that the element (supertype) will have transitive dependency towards the concrete elements?

Does the supertype knowing about the subtypes for violate the LSP [for the purpose of deciding on what behavior to do]? or is this a naive understanding of the principle?