Блог пользователя Shlakoblock

Автор Shlakoblock, 10 лет назад, По-русски

Здравствуйте, извините за очередную онтопную тему. Сегодня мне стало интересно, как много посетителей сайта занимаются организацией тренировок по спортивному программированию в своём вузе, и если такие есть(кроме меня :D), то как вы привлекаете новых людей, как формируете из них команды, и, главное, как вы мотивируете их тренироваться.

Я сам не очень люблю слово "мотивация". От него веет всякими курсами личностного роста. Но в Самарском государственном аэрокосмическом университете мы столкнулись с проблемой. У нас учится больше десяти тысяч студентов, наверняка многие из них могли бы успешно заниматься спортивным программированием, тренироваться и участвовать в соревнованиях различного уровня. Однако мы не можем привлечь их на тренировки, заинтересовать этим и т. д.

В начале года на первую тренировку приходит порядка пяти-шести десятков первокурсников, то есть очень много (мы объявляем о ней на собрании первокурсников). Мы начинаем с некоторых азов, постепенно усложняем материал, проводим небольшие соревнования. В результате уже через полгода мы имеем три-четыре человека, из которых, если повезёт, реально занимается только один. С остальных курсов мы имеем только команды, которые уже были ранее сформированы: привлечь новых людей не получается, потому у всех уже работа и куча хвостов по учёбе.

В связи с этим существует несколько вопросов.

1) Как работает система привлечения новых людей к тренировкам в вашем вузе?

2) Как вы мотивируете (или вас мотивируют) заниматься спортивным программированием?

Возможно, конечно, мы что-то делаем неправильно, например, излагаем материал в неправильном порядке, или проводим тренировки в неправильной форме. Поэтому хотелось бы также узнать о том, как у вас проходят тренировки, и как построен их учебный план.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +68
  • Проголосовать: не нравится

Автор Shlakoblock, 10 лет назад, По-русски

Товарищи, в процессе подготовки одной задачки я обнаружил странное поведение следующей программы на серверах Codeforces.

import java.io.*;
import java.math.BigInteger;
import java.util.*;

public class Primorial {

    public static void main(String[] args) throws Exception {
        int n = Integer.parseInt(new BufferedReader(new InputStreamReader(System.in)).readLine());
        BigInteger primorial = BigInteger.ONE;
        BigInteger prime = BigInteger.ONE;
        for (int i = 1; i < n; ++i) {
            prime = prime.nextProbablePrime();
            primorial = primorial.multiply(prime);
        }
        System.out.println(primorial);
    }

}

Для n = 5 этот код выполняется примерно за 30 миллисекунд, а для n = 6 уже примерно за 5 секунд. Это верно как для шестой джавы, так и для седьмой. Проверял как на полигоне, так и в форме запуска на Codeforces. Результат печальный.

2310
=====
Использовано: 5038 мс, 1080 КБ

То есть целых 5 секунд тратится на понимание того, что следующее за семёркой простое число — 11. Между тем у меня на локальном компьютере, а также в других местах такая программа работает быстро.

Единственное объяснение, которое я могу предложить, — что это как-то связано с использованием java.security.SecureRandom. Но нормально ли это, как по-вашему? Ведь метод довольно хитрый и участники могут воспользоваться им во время раундов. Должен ли он себя так вести?

Полный текст и комментарии »

  • Проголосовать: нравится
  • +31
  • Проголосовать: не нравится