What is the relation between algorithms and OOP? Are they two independent topics?
Algorithms are about how to solve a problem, OOP is about how to formulate our problem and solution. They can be related when the formulation of a problem affects its solution.
Are there some problems which can only be presented and solved by OOP?
No, if you consider that any program (or algorithm) on a computer will be translated to a set of instructions executed on CPU (Turing Machine proof) and if you regard these instructions as the ultimate algorithm which solves the problem then OOP can't do something that an algorithm (a set of instructions) can not. It just makes it closer to the human understanding and reasoning.
How OOP can help algorithms? Or in which direction it can affect it?
It may help to state or formulate an algorithm easier or more understandable. It can hide details and provide a big picture of the solution. If we think of the algorithm as a set of steps, we can borrow the concept of abstraction in OOP and provide more abstract steps.
Algorithm and OO concepts are not two parallel things for the same problem. OOP concepts are just a cover for an existing algorithm.