8 votos

Pregunta sobre el estafador-escritor

Esta pregunta surgió de mi curiosidad.

En un editorial del escritor salario depende de la cantidad de texto que produce $-$ $p=20$ de dólares para $s=1800$ símbolos.

¿Cuánto dinero puede ganar un estafador-escritor presionando $n=40$ botones en el teclado?

El escritor puede utilizar Ctrl+C, Ctrl+V y Ctrl+a, pero no puede copiar texto de otras fuentes.

Por ejemplo la combinación de teclas Ctrl+a Ctrl+C Ctrl+V no cambia nada en el texto, pero de residuos $6$ "pulsaciones" de botones. Mientras tanto, la combinación de teclas Ctrl+a Ctrl+C Ctrl+V Ctrl+V se duplica la cantidad de texto.

Creo que la mejor manera es escribir un pequeño texto y, a continuación, varias veces, realice el siguiente procedimiento: seleccionar todo a través de Ctrl+A y copiar-pegar varias veces. El problema es determinar la cantidad de procedimientos y cantidad de veces que se debe copiar y pegar en cada procedimiento.

Yo también estoy interesado en la solución para valores arbitrarios de $n$,$s$,$p$, pero creo que es demasiado duro.

4voto

celtschk Puntos 13058

A pesar de las restricciones, se pueden hacer las siguientes observaciones:

  • La única razón para seleccionar el texto a copiar, por lo tanto, uno puede asumir que cada Ctrl-a es seguido inmediatamente por un Ctrl-C. por otra parte, Ctrl-C sin precedentes Ctrl-es inútil.
  • Después de Ctrl-C, la única cosa sensata que hacer es Ctrl-V, porque todas las otras teclas en esa situación cambie nada o reemplazar el texto con una sola letra. (La única excepción sería si el texto copiado sería una sola carta, pero, a continuación, toda la copia no tendría sentido). Por otra parte, que pegue primero no cambia el texto (porque reemplaza con la copia sólo generados).

Por lo tanto, uno puede manejar "Ctrl-a Ctrl-C Ctrl-V" como un átomo de secuencia para copiar el texto en el portapapeles.

Dado que sólo estamos interesados en la longitud del texto, el texto y el portapapeles puede ser representado por el número de caracteres.

Por lo tanto, efectivamente tiene las siguientes tres operaciones:

  • Añadir letra de ($t\leftarrow t+1$, costo 1)
  • Copiar al portapapeles, incluye el primer no-texto-cambiar la pasta ($c\leftarrow t$, el costo 6)
  • Pegar desde el portapapeles ($t\leftarrow t+c$, el coste es de 2)

Ahora, el siguiente observación puede hacerse: tan pronto Como hay más de 2 personajes en el portapapeles, es más eficaz para pegar que para escribir una carta. Por lo tanto, escribir cartas sólo es eficaz hasta la primera copia que se ha hecho (después de escribir al menos dos letras). Por otra parte, excepto para escribir una carta, todas las operaciones tienen un costo, por lo que el número de cartas inicialmente tipos deben tener la misma paridad que el número máximo de $n$ ( $n=40$ , debe haber un número par de pulsaciones de teclas).

Además, se debe considerar la secuencia de "pegar, copiar, pegar$^n$" frente a "copiar, pegar, pegar$^n$". El primero de ellos tiene el efecto de $(t,c)\mapsto((n+1)(t+c),t+c)$, el segundo tiene el efecto de $(t,c)\mapsto((n+2)t,t)$. Así que la segunda conduce a un texto más largo si $(n+2)t>(n+1)(t+c)$$t>(n+1)c$. Ahora bien, si la copia anterior fue seguido por $k$ pastas, a continuación,$t=(k+1)c$, y por lo tanto la condición se reduce a $k>n$. Es decir, si la secuencia de las pastas es decreciente, es advanteous a cambio de la pasta hacia atrás. O en otras palabras, el ideal de la secuencia el número de pasados después de consecutivos copias nunca disminuye. De forma análoga, también no debe ser mayor (porque entonces un desplazamiento a la derecha es ventajoso).

Ahora veamos el ideal de copia "$k$ tiempos" de la estrategia. Para $k=0$ no hay mucho para optimizar; siempre obtendrá $k$ letras. Para $k=1$, usted tiene inicialmente $m$ letras, y luego un 6 copia de la clave de la secuencia y, a continuación, $(n-6-m)/2$ pegar secuencias, lo que resulta en $m(n-m-4)/2$ letras. Así que tenemos que maximizar $m(n-m-5)$, lo que significa reducir al mínimo la diferencia de $\left|m-(n-m-5)\right|=\left|2m+5-n\right|$. En otras palabras, $m$ debe estar tan cerca como sea posible a $(n-5)/2$ (sin embargo, todavía debe tener el derecho de paridad). Por ejemplo, con $n=14$, obtenemos $(n-5)/2=4.5$, el número par más cercano a esto es $4$. Por lo tanto, el óptimo $k=1$-estrategia es de tipo 4 letras, copiar y luego pegar 2 veces, dando un total de 12 letras; aquí las letras-sólo la estrategia, claramente gana. Para$n=19$, $(n-5)/2=7$ que ya es impar y por lo tanto el óptimo. Esto le da a 28 letras escribiendo 7 letras, copiar y pegar 3 veces.

Ahora $n=19$ también permitiría que copiar dos veces. Sin embargo la única secuencia razonable, tipo 3 letras, copiar, pegar, copiar, pegar, le da sólo 12 letras, mucho menos que el 28 a partir de una sola copia de la estrategia.

OK, y ahora que es tan tarde en la noche que me voy a parar aquí.

3voto

Nikolai Prokoschenko Puntos 2507

Resulta que para $40$ pulsación de botón, el número máximo de caracteres es de $300$ (por valor de unos $3.33), which can be achieved a number of different ways.

The recursion is $$f(n)= \max \{\,f(n-1)+1, \max_j \{j \times f(n-4-2j)\}\,\}$$ starting with $f(0)=0$ since you can type an extra character or do Ctrl-A, Ctrl-C and then Ctrl-V $j$ times.

For $n=40$, possibilities are

  • abcdefghij Ctrl-A Ctrl-C Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-A Ctrl-C Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V by typing $10$ characters and then multiplying by $5$ (14 keystrokes) and then by $6$ (16 pulsaciones de teclas)
  • abcdefghij Ctrl-A Ctrl-C Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-A Ctrl-C Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V escribiendo $10$ caracteres y, a continuación, multiplicando por $6$ (16 pulsaciones de teclas) y, a continuación, por $5$ (14 pulsaciones de teclas)
  • abcdefghijkl Ctrl-A Ctrl-C Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-A Ctrl-C Ctrl-V Ctrl-V Ctrl-V Ctrl-V Ctrl-V escribiendo $12$ caracteres y, a continuación, multiplicando por $5$ (14 pulsaciones de teclas) y, a continuación, por $5$ (14 pulsaciones de teclas)

Agregó

Para un gran $n$ estamos interesados en la cantidad de crecimiento exponencial es proporcionada por multiplicar por $j$ $4+2j$ pulsaciones de teclas, en efecto, multiplicando por $j^{1/(4+2j)}$ cada pulsación de tecla; para el real $j$ esto es maximizada por $j \approx 4.319$, pero para el entero$j$$j = 4$, en cuyo caso $f(n)=4f(n-12)$, y esto resulta de aplicar al $n \ge 67$. Así, en el largo plazo, la respuesta óptima es mantener multiplicando por $4$ mediante $12$ pulsaciones de teclas

De hecho, para $n \ge 67$ tenemos $f(n)= k \times 2^{n/6}$ donde $k$ depende del resto después de dividir $n$ $12$ y los diversos $k$ se encuentran en el intervalo $(3.05,3.182)$.

Por ejemplo, si $n$ es un múltiplo de a $12$ $k=\frac{25}{8}=3.125$ y podemos decir $f(12m)=50 \times 4^{m-2}$ por entero $m\ge 2$. Para obtener este tipo, $10$ personajes, una multiplicación por $5$ $m-2$ multiplicaciones por $4$; no importa cuando la multiplicación por $5$ ocurre en el multiplicaciones por $4$.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X