[Пояснения] - HDU пунктирная линия деления плоскости [преобразуется]

Плоскость Ломаная деление

Название Описание

Мы видели много прямого деление заголовка плоскости, сегодня изменить предмет чуть-чуть, мы просим это п раз линия, разделяющая максимальное количество самолетов. Например, линия сгиба может быть разделена на два плоских, две складки вверх в плоской части 7, как показано ниже.

запись

Первая строка входных данных C представляет собой целое число, указывает число тестовых примеров, то данные линии С, каждая строка содержит целое число п (п> 0 && п < = 10000), он представляет число линий сгиба.
#### вывод
для каждого экземпляра теста, максимальное число деления выходной плоскость, выходной сигнал каждой строки, например.
#### Ввод пробы
2
. 1
2

Пример вывода

2

7

мышление

Этот тип проблемы ничего не делать больше, чем найти закон, закон плоской ломаной линии разреза, и мы нашли легко найти. Но мы уже знаем, что прямая режущая плоскость закона очень хорошо выглядит, как показано ниже:

Как можно видеть , в случае трех линий, разрез прямого внутренняя области (помеченная зеленая часть) имеет внешнюю область (синий знак часть) с 2 х 3 = 6 - ем;
время четырех линий, внутренняя область + 2 = 3, внешняя область й 2x4 = 8;
когда пять линий, внутренняя область == 1 + 2 3 + 6, 2x5 = 10 - й области за пределами,
причем закон может быть найден: когда прямая линия внутренняя область М1 = 0; внешняя область М2 = 1 х 2,
когда две линии M1 = 0; М2 = 2 х 2;
когда три линии М1 = 1; М2 = 2 х 3,
когда четыре линии М1 = 1 = 2. 3 +, X М2 = 2. 4;
......
N строк , когда М1 = 1 + 2 + 3 + ...... + N-2; М2 = 2 х N;

Соответственно, разделенное область N линейного до M = M1 + M2-я;

По закону линии, давайте посмотрим на разнице между полилинией:

Легко видеть , что каждая линию сгиба не более двух областей , разделенных по отдельности, и четыре прямых линий, так что если конечная точка каждого из двух линий пересекаются, становится линией сгиба, разделенная область 2 уменьшаются. Таким образом, если число N в разделенных областях раза требования линии, требуется только 2N количества разделенных областей прямых М, М-2N , а затем получают размер N чисел областей , которые разрежут линии сгиба. С идеями, любят следующий
код: ----------------
Предупреждение: Данная статья является оригинальной статьи CSDN блоггеры «кнопки не будут летать», и следовать CC 4.0 BY - соглашение авторских прав SA, воспроизведены, пожалуйста , приложите ссылку первоисточника и это утверждение.
Оригинальная ссылка: https: //blog.csdn.net/qq_40907279/article/details/78708856

AC код

#include <stdio.h>
int main(void)
{
    int c, i;
    long long n, sum1, sum2;
    scanf("%d",&c);
    while(c --){
        scanf("%lld",&n);
        sum1 = 0;
        for(i = 1; i <= 2 * n - 2; i ++){
            sum1 += i;
        }
        sum2 = 2 * 2 * n;
        printf("%lld\n",sum1 + sum2 - 2 * n);
    }
    return 0;
}

Опубликовано 34 оригинальные статьи · вона похвала 2 · Просмотров 896

рекомендация

отblog.csdn.net/Kapo1/article/details/103543383