Dijkstra Trên Đồ Thị Trạng Thái - Tối Đa K Vé Giảm Giá 50%
Có N thành phố và M chuyến bay một chiều. Chuyến bay từ u đến v có giá vé nguyên là w.
Tiến độ của tôi ở bài này
Điểm được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: Dijkstra Algorithm, Layered Graph Concept.
Nội dung đề bài
Mô tả bài toán
Có N thành phố và M chuyến bay một chiều. Chuyến bay từ u đến v có giá vé nguyên là w.
Bạn có K chiếc vé giảm giá đặc biệt. Mỗi chiếc vé cho phép bạn giảm giá một chuyến bay bất kỳ xuống còn một nửa: ⌊ w / 2 ⌋. Mỗi chuyến bay chỉ được áp dụng tối đa 1 vé giảm giá, và bạn được dùng tối đa K vé trong toàn bộ hành trình.
Hãy tìm chi phí nhỏ nhất để đi từ thành phố 1 đến thành phố N.
Quy ước nộp bài
- Chỉ cần viết một chương trình đọc
stdinvà in rastdout. Bài này không yêu cầu viết hàm. - Không dùng
coutđể in lời nhắc trước khi đọc dữ liệu. Lời nhắc sẽ lọt vàostdoutvà làm bài sai. - Chỉ in đúng nội dung ở mục Output. Không in thêm nhãn, dòng trống hay ký tự thừa.
- Output được so khớp từng ký tự, phân biệt chữ hoa/thường và dấu câu.
Input
- Dòng đầu chứa ba số nguyên N, M, K (2 ≤ N ≤ 105, 1 ≤ M ≤ 2 · 105, 0 ≤ K ≤ 10).
- M dòng tiếp theo, mỗi dòng chứa ba số nguyên u, v, w (1 ≤ u, v ≤ N, 1 ≤ w ≤ 109).
Output
- In ra một số nguyên duy nhất: chi phí nhỏ nhất từ thành phố 1 đến thành phố N.
Ràng buộc
- Thời gian chạy tối đa: 1000ms.
- Giới hạn bộ nhớ: 256MB.
- Dữ liệu đầu vào tuân thủ đúng định dạng và miền giá trị được mô tả.
Ví dụ 1
Input
3 4 1
1 2 3
2 3 1
1 3 7
2 1 5Output
2Giải thích
Dữ liệu kiểm thử mẫu và kết quả thực thi theo yêu cầu.
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
