Pensando en el problema del puente de una sola tabla (rana cruzando el río)

Descripción del problema

Hay un puente de una sola tabla en el río. Una rana quiere saltar de un lado del río al otro a lo largo del puente de una sola tabla. Hay algunas piedras en el puente. La rana odia pisar estas piedras. Dado que la longitud del puente y la distancia que salta la rana al mismo tiempo son números enteros positivos, podemos pensar en los posibles puntos donde la rana puede llegar en el puente de una sola tabla como una serie de números enteros en el eje numérico: 0, 1,..., L (donde L es la longitud del puente). El punto con coordenada 0 representa el punto inicial del puente y el punto con coordenada L representa el punto final del puente. La rana comienza desde el punto inicial del puente y sigue saltando hasta el punto final. La distancia de un salto es cualquier número entero positivo entre S y T (incluidos S, T). Cuando la rana salta o salta sobre el punto con coordenada L, se considera que la rana ha saltado del puente de una sola tabla.

La pregunta da la longitud L del puente de una sola tabla, el rango de distancia S, T del salto de la rana y la posición de las piedras en el puente. Tu tarea es determinar la cantidad mínima de piedras que la rana debe pisar para cruzar el río.

Para el 30% de los datos, L?<=?10000; para todos los datos, L?<=?10^9. <=?10^9<=?10^9<=?10^9<=?10^9<=?10^9<=?10^9=?10^9

Entrar

La primera línea de entrada contiene un entero positivo L (1?<=?l?<=?10^9), que representa la longitud del puente de una sola tabla. La segunda línea tiene tres números enteros positivos S, T, M, que representan respectivamente la distancia mínima, la distancia máxima del salto de una rana y el número de piedras en el puente, entre las cuales 1?<=?s?<=?t ?<=?10 ,1?<=?m?<=?100. La tercera línea tiene M números enteros positivos diferentes que representan las posiciones de las M piedras en el eje numérico (los datos aseguran que no hay piedras en el punto inicial y final del puente). Todos los números enteros adyacentes están separados por un espacio. <=?m?<=?100<=?m?<=?100<=?m?<=?100<=?m?<=?100<=?m?<=?100<=?m? <=?100=?M?<=?100

El algoritmo del problema en sí no es difícil. Es un problema de programación dinámica para encontrar el número mínimo de piedras en el punto de partida de atrás hacia adelante. para Frog Crossing the River, en línea Se pueden encontrar muchas publicaciones. Pero esto no es suficiente. En primer lugar, cuando la cantidad de datos es grande, la memoria explota directamente, por lo que los datos deben comprimirse y fragmentarse. El otro es un caso especial si se requiere el número mínimo de pasos. El número máximo de pasos de la rana es igual, calcula directamente. Eso es todo.

Aquí registro principalmente cómo comprimí. La idea principal es la siguiente: primero, clasifique las posiciones de las piedras y luego recorra de atrás hacia adelante si se encuentra que la distancia entre las dos piedras. demasiado largo, luego obtenga un fragmento comenzando con la siguiente piedra y luego calcule la cantidad mínima de piedras que pasan a través de este fragmento. Al final, el número mínimo de piedras en todo el puente de una sola tabla es la suma de los resultados de todos los fragmentos.

Entonces la pregunta ahora es: ¿cómo se puede considerar que la distancia entre las piedras es lo suficientemente larga? Si los números maxStep anteriores son todos iguales, entonces no importa cómo avance, todos serán el mismo número y la distancia que puede garantizar que los números anteriores se conviertan en el valor mínimo, mi idea es relativamente simple y burda; similar a la clasificación de burbujas La idea es algo cercana, es decir, suponiendo que el último valor (el valor en la posición maxStep-1) es el valor mínimo, luego avanza posiciones (maxStep-minStep) en cada ronda. Se supone que la longitud de cada ronda es maxStep, por lo que se necesitan (maxStep - 1)*maxStep/(maxStep-minStep) para pasar a la primera posición. Por lo tanto, si la distancia entre dos piedras excede este valor, entonces calcule directamente el número mínimo de piedras en cada posición de este fragmento y luego tome el valor mínimo de los valores maxStep anteriores.

Finalmente, si llegas al inicio del segmento, si la primera piedra aún está lo suficientemente lejos del punto inicial, podrás calcularlo de la misma manera. Sin embargo, si la primera piedra está muy cerca. El punto de partida, puedes calcularlo directamente hasta el punto de partida. El número mínimo de piedras es suficiente.

上篇: ¿La marca de automóvil de qué país es Tesla? 下篇: ¿Qué impresión dan los álamos a la gente? Los álamos crecen principalmente en capas profundas del suelo en montañas bajas y llanuras, y sus hábitos de crecimiento son fuertes y positivos. Le gustan los climas frescos y húmedos y es susceptible a enfermedades en climas cálidos y lluviosos. No tiene grandes requerimientos de suelo. Le gusta el suelo franco arenoso profundo y fértil. No tolera la sequía excesiva o el suelo fino. Es ligeramente tolerante a los álcalis. Los árboles grandes son resistentes a la humedad. Antihumo, anticontaminación. Tiene raíces profundas, un sistema radicular bien desarrollado, una fuerte germinación y un crecimiento rápido. Es la especie arbórea más larga entre los álamos y tiene una vida útil de hasta 200 años. ——A través de estos, vemos la tenacidad, erección, fuerza, terquedad y perseverancia de Baiyang. Esta es una explicación del texto: el texto indica que se trataba de una prosa lírica, escrita en 1941. Antes de esto, el autor Mao Dun fue a Yan'an para dar conferencias después de trabajar en Xinjiang durante un tiempo. En ese momento, era la etapa de punto muerto de la Guerra Antijaponesa. Fue testigo de la unidad del ejército y el pueblo del norte en la guerra de resistencia bajo el liderazgo del Partido Comunista de China, y vio el futuro y la esperanza de la liberación nacional de la gente de las zonas liberadas. Se inspiró para escribir este apasionante artículo. El artículo está escrito en conjunto, abordando directamente el tema y expresando directamente los elogios a Baiyang (elogio significa reverencia y alabanza). El efecto de este método es muy obvio: hace que la gente sienta que la pluma es fuerte y poderosa, y los elogios llegan a borbotones. Es fácil dejar una profunda impresión en la gente. Al mismo tiempo, esta forma de escribir es algo clara y siempre sirve al propósito del texto completo. Se puede decir que el artículo es sobresaliente desde el principio. Pero en el segundo párrafo del artículo, el autor pasa a dejar de lado los álamos para describir el paisaje de la meseta. ¿Cómo es la meseta? "Es una gran alfombra amarilla y verde", el amarillo es el suelo, el verde son los campos de trigo, "sin límites, tan ancho como las rocas". Estas descripciones perfilan con éxito una imagen vasta, plana y colorida de la meseta, abriendo las bases para la plenitud. texto. Vasto fondo. Por eso, el autor naturalmente señaló los sentimientos que la gente común tendría aquí: adjetivos como majestuoso o grande. Sin embargo, cuando el estilo de escritura cambia, una pregunta retórica genera otro sentimiento: después de leerlo durante mucho tiempo, puede resultar monótono y aburrido. Escribir sobre el paisaje de la meseta de esta manera está realmente lleno de giros y vueltas. Este enfoque de elevarse primero y luego suprimir allanó el camino para el surgimiento del álamo debajo y el impulso acumulado. En este entorno, apareció oficialmente Baiyang. "De repente ... miré hacia arriba" y vi varios árboles parados orgullosos como centinelas frente a mí, lo que de repente despertó las emociones de la somnolencia de la gente. La mirada del lector se dirige desde la meseta a los árboles en la distancia, y el artículo también va de abajo a arriba. Pero el autor no entendió directamente a Bai Yang aquí, sino que se centró en los cambios en "mi" estado de ánimo, mostrando la apariencia de Bai Yang a continuación. La oración de preguntas y respuestas recuerda la atención del lector y está diseñada para despertar la * * * voz del lector. Luego, el autor utiliza un simple párrafo de transición para señalar el álamo, que no es sólo un complemento al "grito" de arriba, sino también un preludio para alabar al álamo de abajo. Aquí, alabo al extraordinario Bai Yang y me ocupo del comienzo. Bai Yang debutó oficialmente. Solo hay siete oraciones en este párrafo, pero la apariencia, el color y el carácter de Bai Yang se describen de manera muy vívida. La primera frase señala que el álamo es un árbol que se esfuerza por llegar a la cima, que es el resumen de las siguientes cuatro frases que describen el tronco, las ramas, las hojas y la corteza del álamo por turno, utilizando "sin ramas laterales", "sin lados"; ramas", "celeste" "" y otras palabras resaltan la belleza de la imagen del álamo, que es el segundo nivel; las dos últimas frases resumen el temperamento y carácter del álamo, destacando su integridad, fuerza, terquedad y perseverancia. . A continuación, el autor utiliza técnicas de personificación y contraste para darle a Bai Yang una alta evaluación. Los dos "no..." parecen negar la belleza del álamo, que primero crece y luego se suprime. "Pero..." En un momento, la situación pasó de la represión a la promoción, negando a una buena mujer pero afirmando a un "buen marido". En este contraste se destaca la singularidad del álamo. La transición de alabar a los árboles a alabar a las personas es muy natural. Aquí, el artículo utiliza cuatro preguntas retóricas para revelar el significado simbólico de los álamos como pelar brotes de bambú y guiar a los lectores a pensar. El primer poema "Yao" utiliza preguntas hipotéticas para guiar a los lectores a pensar en la relación entre las personas y los álamos, despertando el deseo de los lectores de allanar el camino para lo siguiente. El segundo "yao" utiliza una pregunta hipotética para afirmar la naturaleza extraordinaria de Bai Yang y su conexión con los agricultores del norte. El tercer "qué" utiliza además una pregunta retórica para señalar claramente que los álamos representan a los soldados y civiles antijaponeses que están luchando duramente. El cuarto "Yao" utiliza una pregunta hipotética para afirmar el espíritu de Baiyang, que es exactamente el espíritu y la voluntad de las masas antijaponesas detrás de las líneas enemigas.