Đoạn lồng nhau

Đề bài

Mô tả

Cho n đoạn thẳng trên một trục số. Đảm bảo rằng không có hai đầu mút nào trùng nhau (tức là tất cả 2n giá trị đầu mút đều phân biệt).

Với mỗi đoạn thẳng, hãy đếm số đoạn thẳng khác được chứa hoàn toàn bên trong nó.

Đoạn thẳng [l2,r2] được gọi là chứa hoàn toàn trong đoạn [l1,r1] khi l1<l2r2<r1.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — số lượng đoạn thẳng.
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên liri — hai đầu mút của đoạn thẳng thứ i.

Dữ liệu ra

In ra n dòng. Dòng thứ j chứa duy nhất một số nguyên aj — số đoạn thẳng được chứa hoàn toàn bên trong đoạn thẳng thứ j.

Ràng buộc

  • 1n2·105
  • 109li<ri109
  • Tất cả 2n giá trị đầu mút đôi một phân biệt.

Ví dụ

Input Output Giải thích
4
1 8
2 3
4 7
5 6
3
0
1
0
Đoạn [1,8] chứa cả 3 đoạn còn lại. Đoạn [4,7] chứa [5,6]. Hai đoạn [2,3][5,6] không chứa đoạn nào.
3
3 4
1 5
2 6
0
1
1
Đoạn [1,5] chứa [3,4]. Đoạn [2,6] cũng chứa [3,4]. Riêng [3,4] và hai đoạn [1,5], [2,6] giao nhau nhưng không chứa nhau theo nghĩa nghiêm ngặt.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0