что нужно знать для того чтобы решать задачи google hashcode?
Обычно на хэшкоде дают одну сложную задачу, которая не имеет точного решения. Поэтому в отличии от ICPC, результат там не бинарный (решил / не решил), а очки, которые считаются по определенным формулам, в зависимости от твоего решения. Поэтому, чтобы "решать", достаточно просто владеть языком программирования. Чтобы пройти в финал, уже как минимум нужно знать продвинутые алгоритмы. Обычно в финал выходят очень крутые ребята с большим олимпиадным бэкграундом, поэтому надеяться на проход не стоит. В прошлом году вроде для попадания в топ 500 отборочного алгоритмы вообще были не нужны, но это, конечно, зависит от задачи, каждый год по-разному