The other statements are correct for the following reasons:
Statement 2: OSPF uses Dijkstra's algorithm to implement least-cost path routing. This is true because OSPF is a link-state routing protocol that uses Dijkstra's algorithm to calculate the shortest path to each node. Each router using OSPF constructs a map of the connectivity to the network, in the form of a graph, and then uses Dijkstra's algorithm to calculate the shortest path to each node.
Statement 4: OSPF implements hierarchical routing. This is also correct. In OSPF, an Autonomous System (AS) can be divided into areas, which group together networks and routers. Routing information is exchanged within an area, but not across areas, which can reduce the amount of routing traffic and make the routing more scalable. Area 0, or the backbone area, forms the top of the hierarchy and is used to connect other areas. This hierarchical design is a key feature of OSPF, allowing it to scale to support large networks.