/ / Rozwiązywanie problemów z Codechef w języku Java [closed] - java

Rozwiązywanie problemów z Codechef w języku Java [closed] - java

Jestem programistą Java. Uważam, że wiele razy, nawet jeśli mój algorytm jest poprawny, otrzymuję przekroczenie limitu czasu dla moich zgłoszeń z kodekiem. Czy są jakieś techniki, które należy stosować, przesyłając rozwiązania w języku Java podczas konkursów programistycznych?

Odpowiedzi:

4 dla odpowiedzi № 1

W CodeChef wszystkie zgłoszenia w Javie mają 2xograniczenie czasowe w porównaniu z ich językiem ojczystym (np. c / c ++ / pascal). Jednak jedną rzecz, o której nie wspomina się, jest to, że sędzia zaczyna zachowywać się bardzo powoli, gdy zużycie pamięci idzie w górę, co często zdarza się w przypadku rozwiązań Java. Sędzia CodeChef działa z ustawieniem pamięci o wielkości 64 MB dla wszystkich programów Java. Powinieneś użyć mniejszej pamięci i spróbuj uruchomić to samo rozwiązanie lokalnie z opcją -Xms = 64 MB.

Zwiększony limit czasu może być również spowodowany przezfakt, że gdy użycie pamięci programu zbliża się do dozwolonego maksimum (co w tym przypadku wynosi 64 MB), wówczas JVM wywołuje funkcję garbage collector, która bardzo intensywnie korzysta z procesora, a zatem opóźnia wykonanie programu.