Kacam.net

Algoritmos

动态规划:状态定义才是那道坎

「看得懂题解、自己想不出来」,卡的几乎都是这一步。

Copia la indicación y elige un modelo. Hará de entrevistador y te irá preguntando escena por escena en vez de darte la respuesta.

En un móvil con la aplicación instalada, el sistema la abre directamente. Dentro de WeChat no se pueden abrir aplicaciones externas: ábrelo primero en el navegador.

El texto copiado termina con la plantilla de corrección que usa el modelo. No la leas tú antes: lo que cuenta es haberlo razonado por tu cuenta.

大家练的是转移方程,但转移是状态的推论:状态定对了转移基本自动,状态定错了怎么凑都凑不出来。所以这一份从头到尾只问状态,一个转移方程都不给你。

有一问是照妖镜:你说「dp[i] 表示前 i 个的最优解」,那么 —— 它必须包含第 i 个吗?两种读法对应完全不同的转移和答案位置,而一多半人从没分清过。

第三幕用环形数组把你的状态打穿,然后逼你说出什么叫「合法的状态」。

★★★★☆ · unos 45 min · Se evalúa: 无后效性、状态维度、为什么转移是状态的推论

Qué entrena esta

Diseño del estado Complejidad

¿Ya hiciste este?

Inicia sesión para marcar que ya lo practicaste; la próxima vez verás qué día fue.

Notas de quienes lo hicieron

Todavía no hay ninguna. Cuando lo termines, cuenta qué salió de la conversación: qué escena te dejó sin respuesta, qué conclusión cambiaste después.

Entrar para escribir una nota.

Cómo se usa

Esta serie enseña en vez de interrogar: te guía en lugar de apretar hasta que no te quede nada que decir. Cuando te atascas pregunta primero en qué capa (no lo he oído nunca / lo sé pero no sé por qué / sé por qué pero no me sale) y luego decide qué darte. Solo después de guiarte dos veces en el mismo punto te lo dice, y entonces te pide que lo repitas con tus palabras.

Cómo empezar

  1. Elige una, ábrela y copia el prompt.
  2. Pégalo en una conversación nueva y vacía, no digas nada y espera su primera pregunta.
  3. Traza a mano antes de escribir código: te interrumpirá. Recorrer un array de longitud 2 vale más que escribir la plantilla diez veces.

Cuatro órdenes que puedes soltar en cualquier momento

  • 跳过 pasar ya a la siguiente escena
  • 换个说法 explicar esta parte desde otro ángulo
  • 直说吧 dar la respuesta completa y luego hacérmela repetir
  • 复盘 saltar al cierre y sacar la ficha de balance

Tres trampas

  • No leas antes el solucionario del final: ese apartado de «errores de razonamiento habituales» es la respuesta a cada una de las preguntas.
  • No corras a escribir código. En algoritmos, escribir código es la mejor forma de tapar que en realidad no lo has pensado.
  • Cuando empiece a elogiarte, remítelo a la regla «no me elogies». Guiar no es consentir.

¿No se te ocurre la solución? Empieza por la definición del estado. ¿Siempre fallas en los límites? Búsqueda binaria y sumas de prefijos. ¿No reconoces la forma del problema? Pila monótona y ventana deslizante. La de complejidad sostiene a varias otras: hazla pronto.