In legatura cu TopCoder, pentru a te familiariza mai bine cu iti recomand sa citesti
tutorialul lor.
O strategie ar fi sa simulezi concursurile propriu-zise iar apoi sa faci upsolving la probleme (bagi surse la cele care nu ti-au iesit).
Alte siteuri cu evaluator online:
Codeforces,
Codechef,
HackerRank,
Spoj,
Timus,
Sgu.
In cazul in care vrei sa simulezi concursurile cea mai buna platforma ar fi Codeforces (la fiecare concurs ai ocazia sa participi virtual). Are si cateva blogposturi cu informatii destul de utile si editoriale.
La Codechef ai ocazia sa participi in Long Contests (un concurs dureaza aproximativ 10 zile si nu 1-5 ore cum esti obisnuit)
HackerRank se ocupa cu probleme care au aplicatii (mai mult sau mai putin) in viata reala. (concursuri de inteligenta artificiala sau programare functionala)
In cazul in care vrei sa te gandesti mult la probleme si apoi sa bagi si cateva surse (presupun ca asa iti exersezi mai mult partea de gandire, cu aplicabilitate in research?-sa ma corecteze cineva daca gresesc) iti recomand ultimele 3 siteuri: Spoj, Timus, Sgu. Hinturi nu prea o sa gasesti dar gradul de satisfactie va fi unul foarte ridicat atunci cand scoti o sursa care ia AC.

Ca ultima nota, probleme sunt destule, e indeajuns doar sa vrei sa inveti din ele.