Blue Bridge Cup sprint veintiuno de 31 días [java]

trayectoria más corta

imagen-20220328124856167

Enlace del tema: https://www.lanqiao.cn/problems/609/learning/

Esta pregunta es para encontrar el camino más corto en el gráfico, la respuesta es 6, se usa el algoritmo de Dijkstra y el resultado final es el siguiente (la programación es demasiado complicada, es fácil de calcular a mano)

imagen

modificar la matriz

imagen-20220328132636311

Enlace del tema: http://lx.lanqiao.cn/problem.page?gpid=T2734

Después de cada lectura de datos, juzgue hashsetsi este valor está incluido en los datos, si está incluido, +1

La desventaja es que lleva mucho tiempo, por ejemplo, el título dice 1 ≤ A i ≤ 1000000 1\le A_i\le 10000001UNyo1 0 0 0 0 0 0 , si todos los números leídos en el año anterior han llenado el número entre 1-10000, y todos los siguientes números dan 1, entonces necesita sumar 10000 veces cada vez para encontrar la respuesta, que tiene grandes ventajas Claro, simple, fácil de entender, fácil de obtener algunos puntos

package daily;

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

/**
 * http://lx.lanqiao.cn/problem.page?gpid=T2734
 * 
 * @author Jia
 *
 */
public class day3_28_2 {
    
    
	public static void main(String[] args) {
    
    
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int[] ans = new int[N];
		Set<Integer> set = new HashSet<>();
		for (int i = 0; i < N; i++) {
    
    
			int num = sc.nextInt();
			while (set.contains(num)) {
    
    
				num++;
			}
			set.add(num);
			ans[i] = num;
		}
		sc.close();

		for (int i = 0; i < ans.length; i++) {
    
    
			System.out.print(ans[i] + " ");
		}
	}
}

Arreglo de jardín

imagen-20220328132933311

Enlace del tema: http://lx.lanqiao.cn/problem.page?gpid=T2873

Parece que necesitamos usar dp para encontrar la subsecuencia más larga que satisfaga la condición, pero no lo haré, ¡envíelo!

Supongo que te gusta

Origin blog.csdn.net/qq_46311811/article/details/123794492
Recomendado
Clasificación