LAIFscratch
You want hard problems just above your level of understanding that when solved teach you dozens of different concepts all at once, that is what 'olympiad' style problems do. You won't be able to linearly go through all the recommended math texts here you will give up from boredom after the first n chapters because you aren't being forced to do it whereas a problem book it will annoy you that you can't solve something, and you'll want to solve it, in my experience. Failing that open up Concrete Math by Knuth and skip to the exercises, use the book text as your research material. At least it has written solutions if you give up trying to solve it. Repeat enough times and it eventually makes sense
Of course the answer to everything is 'just be motivated and dig deep into X then you will learn as you go' like building a program from scratch, or how some mathematician's learned by being fascinated with various topics and purely researching them on their own for hours on end. For some people this will work others will just give up when it gets too difficult, I find it's something you can do after 1/2 of a course, you have just enough education to be able to read the documentation and now you can actually teach yourself whereas before that just attempting cryptic docs about types and objects good luck.
Then of course there is getting paid to program, which requires specific skills you would never get doing ad-hoc hacking around for fun. You actually have to go on Kattis or Leetcode and bang out countless tiny algorithms where each one you have to defend your architect choices with analysis of it's complexity to a room of professionals with vastly more experience than you, and this is of course what most people want when they tell you 'teach me how to code' it's really 'teach me to make money from my laptop like you do'.
There's a small workshop for it here: https://learnaifromscratch.github.io/calculus.html throwing in some youtube tutorials. The book presents everything as functions and their parameters, like linear functions, trig, sigmoidal, e and logarithms, you learn all the parameters to these functions and can type into desmos online graph to see what they're doing visually. You don't have to do the whole thing just use it for background material when an algorithm text uses calculus methods like L'Hopital's rule.
Poh-Shen Loh has a discrete math course open on his youtube channel https://www.youtube.com/c/DailyChallengewithPoShenLoh/search... you can use the book he recommends to look up anything that is assumed knowledge in lectures. Discrete Mathematics, by L. Lovász, J. Pelikán, and K. Vesztergombi. A book called Asymptopia by Spencer is well done too, good chapters for learning everything you want about big-O/omega/theta some topics are advanced and some anyone can do.