And what about a more…complicated situation?

I’m at a stage where:

a) I struggle with Maths/Ad-hoc problems due to weak maths background;

b) I can “understand” all the concepts in the editorials for medium problems (after all, I studied flow algorithms/trees at university and I must have read [read - NOT implemented] over 100s of editorials for medium, easy-medium problems), but, when I read the problem either:

b1) I find that after reading it I cant figure out what is the specific algorithm which is needed (I usually have no time to dedicate myself into this more deeply, because I’m working…although I really, really love algorithms/DS);

OR

b2) Even if I figure out the algorithm, I can’t code it by myself or make the adaptations needed to fit it to a specific problem (for example, changing the query or update function for segment trees problems, although I now am more or less comfortable with the standard RMQ, max, min values and range updates via lazy propagation, but that is as far as I go);

Any pointers?