Непонятно.
Ну это в среднем. Я немного накосячил с оценкой худшего случая. Прочитайте вот это, пожалуйста. Сейчас напишу алгоритм, который его считает, а он, как я проверил, показывает возрастание количества белых столбиков с ростом
![$p$ $p$](https://dxdy-03.korotkov.co.uk/f/2/e/c/2ec6e630f199f589a2402fdf3e0289d582.png)
.
Пусть
![$(p_1=2,p_2=3,p_3=5,...,p_n)$ $(p_1=2,p_2=3,p_3=5,...,p_n)$](https://dxdy-04.korotkov.co.uk/f/b/6/1/b61d7007d287fa56ef9c3662fd71b96982.png)
все рассматриваемые простые числа. Будем оценивать худший случай для каждой строки, начиная с нижней.
Для этого допустим, что мы на строке
![$i$ $i$](https://dxdy-04.korotkov.co.uk/f/7/7/a/77a3b857d53fb44e33b53e4c8b68351a82.png)
. Строки под ней образуют подтаблицу, последовательность столбцов которой повторяется раз в
![$\#p_{p_{i-1}}$ $\#p_{p_{i-1}}$](https://dxdy-01.korotkov.co.uk/f/0/f/4/0f4ea246f5203a5a624978c311cba61082.png)
. Посчитаем количество таких промежутков:
![$inter\_num_i = \lceil \frac{p_n^2}{\#p_{p_{i-1}}} \rceil$ $inter\_num_i = \lceil \frac{p_n^2}{\#p_{p_{i-1}}} \rceil$](https://dxdy-01.korotkov.co.uk/f/0/c/c/0cc36d343a570e68e903ec45eb5f53f982.png)
.
Далее посчитаем, сколько белых столбцов на каждом промежутке (худший случай). Мы знаем общее количество белых столбцов на
![$i-1$ $i-1$](https://dxdy-03.korotkov.co.uk/f/6/f/4/6f471fb05a43809706b83a28f399076c82.png)
шаге. Оно равно
![$rem_{i-1}$ $rem_{i-1}$](https://dxdy-02.korotkov.co.uk/f/1/2/8/128585f6d511ef9bb4cb0eef58cb0e9982.png)
.
Давайте будем считать так. Для шагов
![$(1,2,3)$ $(1,2,3)$](https://dxdy-04.korotkov.co.uk/f/7/9/f/79f235126d4caf9f341f591bf841a4dd82.png)
не будем округлять полученное значение, т.к. там слишком много промежутков, а соответственно на каждом мало столбцов. Таким образом целевое значение равно:
![$rem\_per\_inter_i = \frac{rem_{i-1}}{inter\_num_i}$ $rem\_per\_inter_i = \frac{rem_{i-1}}{inter\_num_i}$](https://dxdy-01.korotkov.co.uk/f/4/0/f/40fe11b42c4eb9805eddf7d0934113f782.png)
для
![$i \in \{1,2,3\}$ $i \in \{1,2,3\}$](https://dxdy-04.korotkov.co.uk/f/3/7/d/37d501d8f4631fd591d6db61784fe74a82.png)
и
![$rem\_per\_inter_i = \lfloor \frac{rem_{i-1}}{inter\_num_i} \rfloor$ $rem\_per\_inter_i = \lfloor \frac{rem_{i-1}}{inter\_num_i} \rfloor$](https://dxdy-01.korotkov.co.uk/f/8/9/2/892fafb7e07c7983b15465ad2bfdce6c82.png)
для остальных. Это не повлияет на оценку.
Далее заметим, что мы можем "закрыть" максимум столбцов на
![$i-$ $i-$](https://dxdy-04.korotkov.co.uk/f/7/b/7/7b7ccf0dc7f33e23877ead84bb57af5582.png)
ом шаге, если на первом и втором промежутке закроем по два столбца (это самый худший случай). Если мы на первом и втором промежутке закрываем по два столбца, то следующие два столбца мы можем "закрыть" только через
![$p_i-2$ $p_i-2$](https://dxdy-03.korotkov.co.uk/f/6/f/2/6f27bb95e2c953e94cdc7575fa463dfc82.png)
интервала (ну понятно, потому что последовательность столбцов в каждом интервале одинкова, а меняется только значения
![$i-$ $i-$](https://dxdy-04.korotkov.co.uk/f/7/b/7/7b7ccf0dc7f33e23877ead84bb57af5582.png)
ой строки, а они повторяются раз в
![$p$ $p$](https://dxdy-03.korotkov.co.uk/f/2/e/c/2ec6e630f199f589a2402fdf3e0289d582.png)
интервалов). Поэтому легко составляем формулу для оценки оставшихся белых столбцов на
![$i-$ $i-$](https://dxdy-04.korotkov.co.uk/f/7/b/7/7b7ccf0dc7f33e23877ead84bb57af5582.png)
ом шаге:
![$rem_i = \lfloor\max{(0,rem\_per\_inter_i-2)} \cdot inter\_num_i \cdot \frac{2}{p_i}\rfloor + \lfloor rem\_per\_iter_i \cdot inter\_num_i \cdot \frac{\max{(1,p_i-2)}}{p_i}\rfloor$ $rem_i = \lfloor\max{(0,rem\_per\_inter_i-2)} \cdot inter\_num_i \cdot \frac{2}{p_i}\rfloor + \lfloor rem\_per\_iter_i \cdot inter\_num_i \cdot \frac{\max{(1,p_i-2)}}{p_i}\rfloor$](https://dxdy-01.korotkov.co.uk/f/8/2/8/82866ed219444946bf7bbf6bfa67848782.png)
На самом первом шаге
![$rem_{i-1} = p_n^2$ = inter\_num_i$ $rem_{i-1} = p_n^2$ = inter\_num_i$](https://dxdy-04.korotkov.co.uk/f/f/9/9/f998c8e5671eaad77cbb1d1f46a3ae5582.png)
Вот код:
https://pastebin.com/4sfXdDBXЕсли запустить, то с ростом
![$p_n$ $p_n$](https://dxdy-02.korotkov.co.uk/f/d/c/a/dcacd0c2df330290b04661ab76e2a62c82.png)
растет и количество белых столбцов.
У меня получилась вот такая оценка этой функции:
https://www.desmos.com/calculator/0kn1nikdkf .Я здесь начал сразу с шага, где
![$p_i=11$ $p_i=11$](https://dxdy-02.korotkov.co.uk/f/5/c/9/5c9001fa7eb1345d6ff9ae05033c1b4982.png)
, чтобы избавиться от проверок на отрицательность, а также вместо пола и потолка вычитал и прибавлял единицу соответственно. Здесь
![$0.7 - $ $0.7 - $](https://dxdy-01.korotkov.co.uk/f/0/7/f/07fdb69819175117a61507f4f9ee7fa182.png)
сумма ряда обратных праймориалов, а
![$\frac{15}{210}$ $\frac{15}{210}$](https://dxdy-04.korotkov.co.uk/f/3/9/9/39966caf8d33a1a7cc85be4c36779ccd82.png)
- примерная доля белых столбцов для
![$p_i=7$ $p_i=7$](https://dxdy-04.korotkov.co.uk/f/3/3/8/3384830974a583ef991fd8823523a35e82.png)
. Вроде получилось очень даже ничего.
Как вам?
![Confused :?](./images/smilies/icon_confused.gif)