QOJ.ac

QOJ

Time Limit: 10 s Memory Limit: 1024 MB Total points: 100

#8946. 一眼丁真

Statistics

Сяо А и Сяо S — товарищи по команде ACM. У Сяо А отличное зрение, и он часто замечает странные закономерности в данных.

Во время одной из тренировок Сяо S нарисовал на бумаге круг. Сяо А взглянул на него и сказал: «Это же правильный 17-угольник!». Затем он достал множество изображений правильных многоугольников и предложил Сяо S понаблюдать за ними. Но Сяо S не имел об этом ни малейшего представления, поэтому он попросил вас помочь ему с идентификацией.

Конкретнее, при заданном максимальном количестве сторон многоугольника $n$, Сяо А генерирует $N$ точек на плоскости следующим образом:

  • Сначала выбирается точка $(x, y)$ в качестве центра. Эта точка может быть зафиксирована в $(0, 0)$ или выбрана равномерно из области $[-1, 1] \times [-1, 1]$.
  • Случайным образом выбирается целое число $k$ из диапазона $[\max(3, n-5), n]$.
  • Рассматривается круг с центром в $(x, y)$ и радиусом $1$. Равномерно случайным образом выбирается вписанный в этот круг правильный $k$-угольник.
  • Процесс повторяется $N$ раз: каждый раз равномерно случайным образом выбирается точка $u$ на границе правильного $k$-угольника, и в данные добавляется $\hat u = u + \mathcal N$. Здесь $\mathcal N$ — случайный шум, координаты которого по обеим осям независимо подчиняются нормальному распределению с математическим ожиданием $0$ и стандартным отклонением $0.01$.
  • Все вышеперечисленные случайные процессы независимы.

Вам необходимо по этим $N$ точкам восстановить количество сторон многоугольника $k$.

Входные данные

Данные считываются из стандартного ввода.

В задаче содержится несколько наборов входных данных. В первой строке вводится целое число $T$, количество наборов данных.

Для каждого набора данных в первой строке вводятся два целых числа $N$ и $n$, обозначающие количество точек и максимально возможное число сторон многоугольника. Далее следуют $N$ строк, каждая из которых содержит два числа с плавающей запятой $\hat u_x, \hat u_y$, представляющие координаты точки $\hat u$. Все числа с плавающей запятой во входных данных представлены с $6$ значащими цифрами.

Выходные данные

Результат выводится в стандартный вывод.

Для каждого набора данных выведите число $k$, обозначающее количество сторон многоугольника.

Примеры

См. прилагаемые файлы.

Примечание

Ниже представлены визуализации для 2-го, 4-го, 5-го и 8-го наборов данных из примера.

Подзадачи

Для всех тестовых случаев $T=200$, $N=1000$, $3 \le n \le 30$.

Всего в задаче десять тестовых случаев, каждый оценивается в 10 баллов, тесты не сгруппированы.

Тестовый случай $n \le$ Способ выбора центра
1 $4$ Равномерно в $[-1,1] \times [-1,1]$
2 Фиксировано в $(0,0)$
3 $10$ Равномерно в $[-1,1] \times [-1,1]$
4 Фиксировано в $(0,0)$
5 $20$ Равномерно в $[-1,1] \times [-1,1]$
6 Фиксировано в $(0,0)$
7 $25$ Равномерно в $[-1,1] \times [-1,1]$
8 Фиксировано в $(0,0)$
9 $30$ Равномерно в $[-1,1] \times [-1,1]$
10 Фиксировано в $(0,0)$

Оценивание

Для каждого тестового случая, если вы ошиблись не более чем в одном наборе данных, вы получаете полный балл за этот случай, в противном случае — 0 баллов.

Примечание

Вам могут понадобиться следующие математические определения, однако их непонимание не препятствует решению задачи:

Случайная величина $X$, подчиняющаяся нормальному распределению $\mathcal N(\mu, \sigma^2)$ с математическим ожиданием $\mu$ и стандартным отклонением $\sigma$, имеет функцию плотности вероятности $$f(x) = \frac{1}{\sqrt{2 \pi} \sigma} e^{-\frac{(x-\mu)^2}{2\sigma^2}}.$$ Для непрерывной случайной величины $X$ с функцией плотности вероятности $f(x)$ и вещественных чисел $a < b$, вероятность того, что случайная величина $X$ примет значение в интервале $(a, b)$, равна $$\Pr(X \in (a,b)) = \int_a^b f(x) dx.$$

Вам могут быть полезны следующие свойства:

Характеристика нормального распределения: его плотность убывает экспоненциально при удалении от среднего значения, поэтому при малом стандартном отклонении значения случайной величины с высокой вероятностью близки к среднему. Например, в условиях данной задачи $\mu = 0$, $\sigma = 0.01$, вероятность того, что абсолютное значение сгенерированного случайного числа превысит $0.04$, составляет примерно $6 \times 10^{-4}$, вероятность превышения $0.05$ не превышает $6 \times 10^{-7}$, а вероятность превышения $0.07$ не превышает $3 \times 10^{-12}$.

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.