포럼
문제 USACO0488

뒤얽힌 구간

설명

소들은 재미있는 새 게임을 발명하기 위해 열심히 노력하고 있다. 현재 시도 중인 게임 하나는 \(N\)개의 구간의 집합을 사용한다(\(1\le N\le 2\cdot 10^5\)). \(i\)번째 구간은 수직선 위의 위치 \(a_i\)에서 시작해 위치 \(b_i \geq a_i\)에서 끝난다. \(a_i\)\(b_i\)는 모두 \(0 \ldots M\) 범위의 정수이며, \(1 \leq M \leq 5000\)이다.

게임을 하기 위해 베시는 어떤 구간(예를 들어 \(i\)번째 구간)을 선택하고, 사촌 엘시도 어떤 구간(예를 들어 \(j\)번째 구간, 베시의 구간과 같을 수도 있다)을 선택한다. 어떤 값 \(k\)가 주어졌을 때, \(a_i + a_j \leq k \leq b_i + b_j\)이면 둘이 이긴다.

\(0 \ldots 2M\) 범위의 모든 값 \(k\)에 대해, 베시와 엘시가 게임에서 이길 수 있는 순서쌍 \((i,j)\)의 개수를 세어라.

출제자: Benjamin Qi

제약

배점

  • 테스트 케이스 1-2는 \(N\le 100, M\le 100\)을 만족한다.
  • 테스트 케이스 3-5는 \(N\le 5000\)을 만족한다.
  • 테스트 케이스 6-20은 추가 제약이 없다.

출제자: Benjamin Qi

입력 형식

입력의 첫째 줄에 \(N\)\(M\)이 주어진다. 다음 \(N\)개의 줄에 각 구간을 나타내는 정수 \(a_i\)\(b_i\)가 주어진다.

출력 형식

\(0 \ldots 2M\) 범위의 각 값 \(k\)에 대해 한 줄씩, 총 \(2M+1\)개의 줄을 출력한다.

예제 1
입력
2 5
1 3
2 5
출력
0
0
1
3
4
4
4
3
3
1
1
설명

In this example, for just \(k=3\), there are three ordered pairs that will allow
Bessie and Elie to win: \((1, 1)\), \((1, 2),\) and \((2, 1)\).

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2021-2022 > December > Silver

태그

평가 및 의견

Convoluted Intervals

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Convoluted Intervals

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8