¿Qué truco sobre algoritmos o sobre codificación competitiva en general puede aprender en 10-20 minutos que será útil más adelante?

  • No cometas el error que ha cometido YouTube: p. (Ten siempre en cuenta el uso de int y long). Me costó mucho wa y confianza en mí mismo para aprender esto.
  • Las recursiones elegantes pueden hacerte sentir bien, pero no siempre son la solución. Los bucles son mucho más rápidos.
  • La ventaja del factor log es la desventaja del crecimiento exponencial (2 ^ n).
  • El algoritmo de dijkstra es lo mejor que le ha pasado a los gráficos. Dominarlo
  • Los bits son mágicos. Una vez que lo aprendes, es muy divertido.
  • Necesita aprender qué enfoque o qué estructura de datos es adecuada para resolver un problema. Esto viene a través de la práctica.
  • Para preguntas que tienen árboles con nodos etiquetados consecutivamente como el de abajo

    • para encontrar el número del nodo después de una secuencia de izquierda y derecha desde la raíz, simplemente agregue ‘0’ para cada izquierda y ‘1’ para cada derecha. Terminarás con la representación binaria del nodo actual. Ej: comenzar desde 1 y l -> r -> l -> l 1 -> 10 -> 101 -> 1010 -> 10100 donde 10100 es el binario de 20.
  • Puede implementar fácilmente un montón usando una matriz usando el truco anterior. Considere el montón a continuación.

    • Para encontrar el hijo izquierdo de un índice X
      • Simplemente agregue ‘0’ a la forma binaria de X.
      • o multiplica X por 2 (X * 2).
    • Para encontrar el hijo derecho de un índice X
      • Simplemente agregue ‘1’ a la forma binaria de X.
      • o multiplica X por 2 y agrega 1 ((X * 2) + 1).
  • Dado un número P, encuentre la cuenta de los números que son divisibles por P en el rango de L a R. Esto se puede hacer en O (1). Desde que no. del divisor de X de 1 a N es N / X. Usando eso,

no. del divisor LR = (n. ° de divisor de P de 1 a R) – (n. ° de divisor de P de 1 a L-1)

————————————————————————————> = 1 a R

———————————–> | = 1 a (L – 1)

1 2 3 …………………………… .. (L-1) (L) (L + 1) (L + 2) ………… .. (R-2) (R-1) (R) (R + 1)

  • La mayor distancia b / w 2 números primos consecutivos en el rango entero de 32 bits con signo más grande (2 ^ 32) no es mayor que 282. El primo entero más grande es 2,147,483,647 [(2 ^ 31) -1].
  • Cada número par b / w 3 y 300 se puede representar como una suma de 2 números primos.

No 10-20 minutos, solo unos segundos.
La Enciclopedia en línea de Integer Sequences® (OEIS®)

¿Alguna vez ha respondido a una pregunta durante un concurso que es fácil de resolver para casos de prueba pequeños, pero que sin duda tendrá un tiempo de espera para casos grandes? En ese momento, ¿te preguntas si podrías encontrar algún patrón o alguna fórmula?
Bueno, OEIS está aquí para ayudar, contiene todos los patrones posibles en este mundo.
La próxima vez que se tope con una pregunta así, solo descubra los primeros términos y busque en OEIS, obtendría la respuesta.

( http://codeforces.com/gym/100812/problem/K )
Trate de resolver este problema, si está atascado intente OEIS.