Здравствуйте,
Я только присоединился к codeforces и хочу научиться спортивному программированию. У меня возник вопрос, на который я не нашел ответа здесь:
Насколько решение задач зависит от озарений? Сколько задач решается просто засчет знания базовых алгоритмов, не требуя никих догадок?
Другими словами, какой процент задач вы решаете просто применяя известный алгоритм. А в каком проценте случаев вам сначала приходится изобрести какой-то новый прием, без которого задача не решается вообще?
Нужно ли тренировать "изобретательство новых приемов", решая задачи к которым вы не знаете подхода. Или лучше сфокусироваться на изучении новых алгоритмов по книгам?
I've found it to be getting the correct insight to know which technique to apply. While some concepts and techniques are common, to get there you usually should make some clever insights on the nature of the inputs and the constraints, in my opinion.
Thank you for sharing your experience.
The question is if "clever insights" could be trained to any level given enough effort? Or is it limited certain level ("talent" factor)?
I get what you're trynna ask. You're wondering whether this site is basically talent or training. I'm well aware that by training you can learn to recognize many of the mentioned clever insights. I also know that many people train long with little to no results, while others do less training with more results. Not sure what the balance is, or which between intellect and practice is the ultimate defining factor, but I can assure you that at the levels of specialist-expert, you can get very far using either or both.
I would say, at least to start with, it is mainly insight. If you look at the editorials for recent contests you will see, at least for division 2 or 3 contests, maybe one or two problems (typically the more difficult ones) that mention particular standard algorithms or data structures as part of the solution. The educational rounds possibly use more standard algorithms, but even in these get quite a way without any advanced algorithms.
Don't downvote Aberent, please. Give it to me instead.
I found proposed approach very useful. I checked few editorial solutions and looked if they start with some observation, that simpilfies initial task.
So I can collect statistics on how much insights are required by my own. The other quistion remaining is how to train insight.