Como é diferente a programação competitiva da programação da vida real?
Você está na selva. Tens um canivete de bolso. Alguém te pede para matares um leão da montanha. Qualquer um, menos um programador, estaria a perguntar "WTF é um leão MONTEIN a fazer num JUNGLE?!", mas isso'não é o que tu foste treinado para fazer como programador. Você está aqui para resolver problemas, não para questioná-los.
Anos de treinamento tem lhe ensinado bem. Você usa a sua faca para afiar um pau. Você corta videiras para chicotear pedras afiadas em uma das pontas. Talvez você'é de uma universidade de topo, e você'aprendeu a extrair ingredientes essenciais da vida vegetal e dos insectos à sua volta para moldar um veneno com o qual possa virar a sua arma.
Convencido de que você tem uma maneira eficaz e eficiente de matar o leão, você se propôs a cumprir a sua tarefa. Talvez o seu bastão seja muito curto, ou os seus venenos don't funcionam. It's ok - você vive para refinar seu método e tentar novamente em outro dia.
Então alguém descobre uma maneira de moldar um explosivo de baixo grau da colheita de produtos químicos na selva. O seu método de moldar uma lança para matar o leão está agora longe de ser a melhor maneira de realizar a sua tarefa. No entanto, it'é ainda uma maneira simples, e continuará a ser ensinado nas escolas. Cada leão assassino será ensinado como construir suas ferramentas a partir do zero.
Aquele's programação da "vida real".
Na programação competitiva, você começa com os mesmos recursos (um canivete), exceto que você tem 2 minutos para matar o leão.
Como um iniciante, você olhará para o leão e não fará nada.
Em breve, você aprende que se você matar um esquilo, às vezes o juiz pensa que'é um leão e você'está pronto para ir.
Um programador mais experiente continua esfaqueando o leão e espera que o leão morra a tempo. Logo, você aprende que existem certos pontos em um leão que são imunes a danos. Você aprende a nem se preocupar em apunhalar essas manchas. Às vezes, o leão não'não expõe essas manchas, então você fica muito bom em matar esquilos.
E então, para ser um grande programador competitivo, você precisa ser capaz de fazer duas coisas.
Primeiro, você precisa aprender como encontrar o ponto crítico do leão'e matá-lo em um golpe rápido.
Segundo, você deve aprender a ser tão prático com sua faca que você pode moldar um pau afiado em 1 minuto, e passar o minuto seguinte esfaqueando o leão até a morte.
Mas nunca será capaz de ter tempo suficiente para moldar um explosivo para tirar o leão.
Artigos semelhantes
- Como devo começar na programação competitiva?
- Que estruturas de dados básicos e algoritmos se deve aprender antes de iniciar uma programação competitiva?
- Como se pode entrar na cena competitiva do Pokemon?
- Um sistema operacional de smartphone diferente significa um tipo diferente de usuário? IOS vs Ubuntu Touch vs Windows Phone vs Android