Quá nhiều đoạn

Đề bài

Mô tả

Cho n đoạn thẳng trên trục số OX. Các đoạn có thể giao nhau, lồng nhau hoặc trùng nhau. Đoạn thứ i[li;ri] (với liri) và phủ tất cả các điểm nguyên j thoả lijri.

Một điểm nguyên được gọi là điểm xấu nếu nó bị phủ bởi nhiều hơn k đoạn.

Hãy xoá đi số lượng đoạn ít nhất sao cho sau khi xoá, không còn điểm xấu nào trên trục số.

Dữ liệu vào

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

Dữ liệu ra

  • Dòng đầu in một số nguyên m — số đoạn ít nhất cần xoá.
  • Dòng thứ hai in m số nguyên phân biệt p1,p2,,pm — chỉ số của các đoạn bị xoá (theo thứ tự tuỳ ý).

Nếu có nhiều đáp án, in ra bất kỳ.

Ràng buộc

  • 1kn2·105
  • 1liri2·105

Ví dụ

Input Output Giải thích
7 2
11 11
9 11
7 8
8 9
7 8
9 11
7 9
3
7 4 1
Xoá 3 đoạn (một phương án là chỉ số 7,4,1). Sau đó mỗi điểm nguyên bị phủ tối đa 2 lần. Đáp án không duy nhất.
5 1
29 30
30 30
29 29
28 30
30 30
3
1 4 2
k=1 nên mỗi điểm chỉ được phủ bởi đúng 1 đoạn. Cần xoá ít nhất 3 đoạn.
6 1
2 3
3 3
2 3
2 2
2 3
2 3
4
1 3 5 6
Sau khi xoá 4 đoạn, các đoạn còn lại không chồng lên nhau quá 1 lần tại bất kỳ điểm nguyên nào.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0