A subclass can add new elements, like operations or attributes, to a more specific class that are not defined in the more generic class. Also the more specific class can override functions, hide attributes, and implement abstract operations. I guess LSP means Liskov's substitution principle.
If this is violated or not is less a syntactic question than can be answered by UML; instead it is a semantic question about reasoning about the meaning of the classes. Consider the classical example whether a square is more generic than a rectangle. Or is it vice versa? But syntactically both is the same, such as many other less questionable hierarchies.
The question about polymorphism is a bit tricky. UML does not use this term explicitly. But it states clearly that each instance of a more specific class(ifier) is also an instance of the more generic class(ifier) and inherits all of its features. This means there is no UML syntax that allows you to inherit the implementation only.
But you can solve this easily by applying a suitable design pattern. The question is not concrete enough to judge witch pattern is the most appropriate one but good candidates are strategy or bridge pattern. Then you have complete inheritance between the classes that implement your algorithms (and they can be private or less visible - depending on the language), but the classes that are used by the clients have no generalization relation and thus cannot be used in a polymorphic way.