만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

일직선 배치

시간 제한2초메모리 제한2048 MB

요약
볼록 다각형이 주어졌을 때, 질의 점과 일직선에 놓이는 꼭짓점 쌍의 수를 세거나 두 점을 지나는 직선 위의 꼭짓점 수를 구합니다.
난이도

보통10점 중 7점

유형
기하, 해시맵, 정렬, 이분 탐색
정답자
아직 제출이 없습니다

문제

2차원 평면 위에 볼록 다각형을 이루는 nn개의 점 P1,P2,…,PnP_1, P_2, \ldots, P_n이 주어진다. 다음 두 종류의 질의 qq개에 답하시오.

  1. 점 (x,y)(x, y)가 하나 주어진다. 1≤i<j≤n1 \le i < j \le n을 만족하고, 세 점 (x,y)(x, y), PiP_i, PjP_j가 한 직선 위에 있는 쌍 (Pi,Pj)(P_i, P_j)의 개수를 구하시오.
  2. 두 점 (x1,y1)(x_1, y_1), (x2,y2)(x_2, y_2)가 주어진다. 1≤i≤n1 \le i \le n을 만족하고, 세 점 (x1,y1)(x_1, y_1), (x2,y2)(x_2, y_2), PiP_i가 한 직선 위에 있는 점 PiP_i의 개수를 구하시오.

입력

첫 줄에 두 정수 nn, qq (3≤n≤1053 \le n \le 10^5, 1≤q≤1051 \le q \le 10^5)가 주어진다. 각각 다각형의 꼭짓점 수와 질의 수이다.

다음 nn개의 줄에는 다각형의 꼭짓점 xx, yy가 한 줄에 하나씩 주어진다.

다음 qq개의 줄에는 아래 두 형식 중 하나로 질의가 한 줄에 하나씩 주어진다.

  1. 1 xx yy
  2. 2 x1x_1 y1y_1 x2x_2 y2y_2

모든 점과 질의 좌표는 ∣x∣,∣y∣≤109|x|, |y| \le 10^9을 만족한다. 꼭짓점은 반시계 방향으로 주어지며, 다각형은 볼록하다. 세 꼭짓점이 한 직선 위에 놓이는 경우는 없다. 질의의 점은 다각형의 꼭짓점과 겹치지 않는다. 첫 번째 형식의 질의는 100개 이하이다.

출력

각 질의에 대한 답을 한 줄에 하나씩 출력한다.

힌트

첫 번째 질의에서 (1,1)(1, 1), P2=(2,0)P_2 = (2, 0), P5=(0,2)P_5 = (0, 2)가 한 직선 위에 있으므로 답이 되는 쌍은 (P2,P5)(P_2, P_5)뿐이다.

두 번째 질의에서 (1,1)(1, 1), (2,2)(2, 2), P1=(0,0)P_1 = (0, 0)이 한 직선 위에 있으므로 답이 되는 점은 P1P_1뿐이다.

세 번째 질의에서 답이 되는 쌍은 (P2,P3)(P_2, P_3)와 (P4,P5)(P_4, P_5), 두 개이다.

예제1

  1. 예제 1

    입력
    5 3
    0 0
    2 0
    2 1
    1 2
    0 2
    1 1 1
    2 1 1 2 2
    1 2 2
    
    예상 출력
    1
    1
    2