Jestem inż. technologii chemicznej. Więcej w tym kontekście w wątku SPOJ a praca... i życie.
Sam nie kojarzę w tej chwili niczego więcej. Ściślej: nic z takich bardziej oczywistych rzeczy nie rzuca mi się w oczy.
Dla mnie trick ma to do siebie, że widzisz problem realny (np. układy r. liniowych są dość powszechne w życiu), możesz nie wiedzieć jak to roztrzaskać (bo faktycznie widząc 1000 równań liniowych z 1000 zmiennych… jest wesoło), możesz to wymyślić (w czasie zależnym od wielu czynników, ale umówmy się - tricki na samym końcu okazują się proste i myślisz coś w rodzaju “kurde, faktycznie!”), ale lepiej by ktoś Cię nakierował. I po tym nakierowaniu wszystko staje się jasne.
Pośród różnych innych tricków, od wzorców projektowych z kwestii technicznych po drzewa rozpinające w kwestiach matematycznych, trzeba już jednak nieco więcej wiedzieć, widzieć, rozumieć, kodować, … . To nie jest ani takie proste do ogarnięcia ani takie kultowe ani nie daje takiego efektu “łał”.
To najbardziej kultowa książka, ale niestety nie ma jakiejś magicznej literatury, która gwarantuje sukces. Poza tym musisz odróżnić podejście teoretyczne (np. udowodnij, że dany algorytm ma złożoność O(nlogn)) od praktycznego (król Bajtomir …). Literatura, siłą rzeczy, jest bardziej teoretyczna.
Z Cormena polecałbym zaprzyjaźnienie się ze schematami. W moim odczuciu są klarowne, tzn. łatwo było mi zrozumieć działanie - bo ja wiem - wyznaczania otoczki wypukłej czy problemów dla sieci przepływowych. Fajne są też przykłady: polecam robić wszystko, od byle sortowań, na kartce. Z pełnym zrozumieniem: dlaczego tak, co to daje itd. Może dużo pisania na papierze gdy 10 razy sortujesz coś insertion sortem, ale za to w końcu kod staje się intuicyjny i szybciej klepiesz + widzisz rzeczy algorytmiczne.
Bardzo fajne źródła zlinkował @quenthui. Dodałbym https://eduinf.waw.pl/inf/alg/001_search/index.php . Cenię sobie https://www.youtube.com/channel/UCZCFT11CWBi3MHNlGf019nw , ale esencja algorytmów jest też zawarta w różnego rodzaju materiałach typu https://www.youtube.com/watch?v=TyWtx7q2D7Y .
Są oczywiście inne pozycje, ale na start masz tu podane aż nadto, a inne znajdziesz z czasem sam. Choćby na forum. Na start polecam Tarnów bo w zasadzie jak to opanujesz, roztrzaskasz wszystkie łatwe + większość średnich + kilka trudnych.
To teraz spoza algo.
Początkującym w kwestiach technicznych zalecam https://www.cplusplus.com/reference/ a zaawansowanym https://en.cppreference.com/w/ + odpowiednie pdfy.
Jak zapomniało Ci się coś z matematyki i z jakiegoś powodu jej potrzebujesz, pierwszy strzał to zawsze Biblioteka Opracowań Matematycznych (chyba wydawnictwa Bila). Wszystkie inne źródła bierz pod uwagę gdy nie zadowalają Cię wymienione zeszyty.
Może warto zerknąć na Khan Academy (matma, może podstawy IT)? Oczywiście wersja english.
Może nie bez powodu? Jak wolisz: zastanów się, na ile potrzebujesz SPOJa i jakie zadania są Ci potrzebne. Jak dla zabawy i ile zdołasz to spoko, ale co do zasady niewielu ludzi wie co to jakieś rozkłady Gaussa bo niewielu ludziom to jest potrzebne. SPOJ to nie branża IT i w większości sytuacji się nie przydaje (moja opinia; więcej w pierwszym linku w tym poście).
PS
Znam człowieka, który sukcesy w algo- konkursach świętował X lat temu i jak to mówi, kiedyś był w tym świetny, ale od tego czasu mało ćwiczył, mało kodował i raczej obecnie nie kwapi się do tych tematów.
PS2
Kurcze, jednak sobie o czymś jeszcze przypomniałem 
Drzewo gry. W realu może nie jest najczęstsze, a już przy “byle” szachach są z nim problemy. Niemniej kodując sztuczną inteligencję w różnego rodzaju grach turowych (albo szerzej: problemach, które można do nich sprowadzić) warto znać ten twór bo może on sporo ułatwić.