Cắt Cỏ Nghịch Ngợm

Đề bài

Mô tả

N bông hoa trên lưới [0,T]×[0,T], hoa thứ i ở tọa độ (xi,yi). Không có hai bông hoa nào có cùng tọa độ x hoặc y.

Bessie muốn chọn tập con lớn nhất các bông hoa nằm trên một đường đi từ (0,0) đến (T,T) chỉ di chuyển sang phải hoặc lên trên. Các hoa được chọn phải có cả tọa độ xy tăng dần.

Trong tất cả tập con lớn nhất, hãy tìm tập con sao cho diện tích cỏ bị cắt là nhỏ nhất. Diện tích này bằng tổng diện tích hình chữ nhật giữa các điểm liên tiếp (bao gồm (0,0) ở đầu và (T,T) ở cuối):

  • i=0|S|(xi+1xi)(yi+1yi)

với (x0,y0)=(0,0)(x|S|+1,y|S|+1)=(T,T).

Dữ liệu vào

  • Dòng đầu: hai số nguyên NT (1N3×105, 1T106)
  • N dòng tiếp theo: xi yi (1xi,yiT1)

Dữ liệu ra

Một số nguyên: diện tích cỏ bị cắt nhỏ nhất.

Ràng buộc

  • 1N3×105, 1T106
  • Không có hai hoa nào có cùng tọa độ x hoặc y

Ví dụ

Input Output Giải thích
5 20
19 1
2 6
9 15
10 3
13 11
117 Tập con tối ưu: {(10,3),(13,11)}. Diện tích: 10×3+3×8+7×9=30+24+63=117.
2 10
3 4
7 8
34 Chọn cả hai hoa (3,4)(7,8). Diện tích: 3×4+4×4+3×2=12+16+6=34.

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