Polonius survived the stabbing and has returned almost fully recovered. Hamlet was led to believe to have killed him because he was rushed out by guards as soon as he stabbed Polonius, not seeing if he had survived.
Hamlet had gave the letter containing the orders to kill Rosencrantz and guildenstern to the man to swap, but we find out that the pirates had taken Rosencrantz and Guildenstern. The Guards at england only say they killed them to not look bad in front of Claudius.
It is revealed that Hamlet never got onto the ship bound for England. When Hamlet found out Claudius's plan to send him away, Hamlet bribed a man with similar looks to dress up as Hamlet and take his place. When the ship arrived at England, the guards realize that it is not Hamlet and imprison the man.
Ophelia was unsure about her feelings with Hamlet, so she told Gertrude and faked her death to see if he would react. After hearing what Hamlet said at the funeral, Ophelia reveals that she is alive and well.
Hamlet asks Ophelia to marry him and she says yes. They will get married in two months.