Либо одного школьного курса мало , либо у меня не хватает креативности. Склоняюсь больше ко второму, ибо часто я понимаю решения олимпиадных задач, но просто порой не могу до них догадаться.
Забудьте про "креативность", всё у вас должно быть в порядке с мышлением. В олимпиадных задачах в первую очередь важен опыт, если уже есть знание теории (она не вся есть в школьных учебниках). Вот прорешаете несколько сотен задачек из сборников по возрастанию сложности с чтением подсказок/решений в сложных случаях — сможете догадываться. Олимпиадные задачи вообще сходу не обязаны решаться, на соревнованиях на каждую из них в среднем по часу отводят.
По университетском курсу алгебры тоже есть сборники задач (например, Кострикин, Сборник задач по алгебре, там есть и подсказки в конце), надо из них и решать, а не ориентироваться только на учебник. К тому же в задачниках упор чуть на другие темы, чем в учебниках: решение СЛАУ над полями, работа с базисами, алгоритм Евклида, решение СЛАУ над ОГИ, ЖНФ, применение теорем Силова...