넘버링

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

요약
연결된 무향 다중 그래프가 주어질 때 모든 단순 경로에서 교차로 번호가 단조가 되도록 각 교차로에 서로 다른 정수를 부여하고, 값이 다른 쌍의 수를 최대로 만든다.
난이도

어려움10점 중 9점

유형
그래프, DFS, 조합론, 구현
정답자
아직 제출이 없습니다

문제

KOI 도시는 NN개의 교차로와 MM개의 양방향 도로로 이루어져 있으며, 임의의 서로 다른 두 교차로를 도로만을 사용하여 오갈 수 있다. 같은 두 교차로를 잇는 양방향 도로가 2개 이상 있을 수도 있다.

각각의 교차로에는 00부터 N−1N-1까지의 서로 다른 번호가 붙어 있고, 각각의 양방향 도로에는 00부터 M−1M-1까지의 서로 다른 번호가 붙어 있다.

길이가 NN인 정수 배열 a\[0]a\[0], a\[1]a\[1], ⋯\cdots, a\[N−1]a\[N-1]이 아래 조건을 만족한다면, aa는 굿 넘버링이다.

  • 동일한 도로를 두 번 이상 지나지 않는 임의의 경로에 대해서, 경로에서 방문한 순서대로 교차로의 번호를 나열한 수열을 u_0,u_1,…,u_l−1u\_0, u\_1, \ldots, u\_{l-1}이라 할 때 a\[u_0]≤a\[u_1]≤…≤a\[u_l−1]a\[u\_0] \le a\[u\_1] \le \ldots \le a\[u\_{l-1}] 또는 a\[u_0]≥a\[u_1]≥…≥a\[u_l−1]a\[u\_0] \ge a\[u\_1] \ge \ldots \ge a\[u\_{l-1}]가 성립한다. 경로에서 동일한 교차로는 두 번 이상 지날 수 있음에 유의하라.

길이가 NN인 정수 배열 a\[0]a\[0], a\[1]a\[1], ⋯\cdots, a\[N−1]a\[N-1]의 다양성은 a\[u]≠a\[v]a\[u] \neq a\[v]이면서 0≤u<v≤N−10 \leq u < v \leq N-1을 만족하는 (u,v)(u, v) 쌍의 개수이다.

도로망 구조가 주어졌을 때, 모든 굿 넘버링 중 다양성의 최댓값을 구하는 프로그램을 작성하라.

제한

  • 2≤N≤1,000,0002 \le N \le 1\\,000\\,000
  • 1≤M≤2,000,0001 \le M \le 2\\,000\\,000
  • U\[i]≠V\[i]U\[i] \neq V\[i] (모든 0≤i≤M−10 \leq i \leq M-1)
  • 0≤U\[i],V\[i]≤N−10 \le U\[i], V\[i] \le N-1 (모든 0≤i≤M−10 \le i \le M-1)

예제

이 문제는 공개된 예제가 없습니다.