I 'freedive' and spend most of my training in a pool with a trained buddy. (really important if anyone wants to hold their breath for longer periods of time)
The 'pool workout' and 'gym workout' is basically what you should try for the 50m underwater swim stretch. In a week - 3 times in the pool - 2 times in the gym.
The gym work is not to gain size but to tone your muscles all over - this helps with your Oxygen retention. 3-40 mins cardio in each session.(greatly improves your max oxygen uptake)
The pool involves starting with stretching movements then your Oxygen saturation (deep breathing min 3 mins / fast and slow) Your workout should vary for fun and progession.
1/ Buy fins and see how you do on distance (psych advantage)
2/ Try no dive or push off - see how you do
3/ Breath holding when underwater - your buddy is vital here 'shallow water blackout' kills many of us every year - unless you have him/her right on hand.
4/ Practise slow powerful strokes
Quick tip: Saturate then go as far as you can (clear all thoughts) - just slowly but with power make your way ahead - let Oxygen slowly release towards the end - surface and make a mark. Keep doing this - sometimes you beat it sometimes not. You will improve over time - guaranteed.
Also in training your lung capacity - Take the deepest breath you can - then try really hard to top it up with a bit more and on and on.
The whole process is to be slow / easy and takes patience. You will in the end - breeze through the 50 and want to go further!