Hi Charlie_Zhang, 4days3nights is only enough for 2 days of HaLongBay. This is my itinerary for you (based on my experience with Canary cruise, paid 300USD for a single, for 3d2n cruise and 1 day tour)
Day 1 : Arrive at airport, check in hotel, explore the Hanoi until late (the only places that are worth your time is the Hoan Kiem lake and the Mausoleum, if it's not closed)
At the same time, check with your hotel if they arrange tours to Ha Long Bay. I booked mine 2 days before the tour (arrived on 25th, city tour on the 26th and HLB on the 27th)
I suggest the 2days/1night tour.
Day 2 : Bus will arrive at 0800 to pick you up from hotel, expected to reach there about 1330 (usually takes 3-4 hours but the traffic and road condition there is damn bad)
From there you are expected to reach your junk at 1400-1430. You will be served lunch as you sail to the place for the junk to park for the night.
From 1500-1800, you will go to some fishing village for some kayaking then after that you will then go climb the stairs at Titov beach.
Explore the beach for awhile then go back to the junk for dinner at 1900.
Dinner at 1900 will be until 2000, after that it's OTOT night activities (Karaoke, squid fishing) or lights out.
Day 3 : Breakfast at 0700 to 0800 then you will explore some of the nearby caves.
Check out at 1000-1030 and then you will have some cooking demostration until 1100. Lunch at 1130 then you will wait for the bus to bring you back to Hanoi at 1300. Expect to reach back by 1800.
Day 4 : Check out of hotel and back to Singapore. If time permits then see the Mausoleum.