HNOI 2023 Split 2, Day 1 - Số may mắn

Xem dạng PDF

SUBMIT SOLUTION

ID: hnoi_2023_r2d1_somayman

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Nguồn bài:
HNOI 2023 Split 2, Day 1
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Cho một dãy ~A~ gồm ~N~ số nguyên ~A_1, A_2, A_3, \dots, A_N~ (các phần tử có giá trị từ ~1~ đến ~9~). Gọi ~S[L \dots R]~ là số nguyên được ghép bởi các số từ vị trí ~L~ đến vị trí ~R~ trong dãy ~A~, theo thứ tự từ trái sang phải.

Ví dụ: Với dãy ~A = [2, 6, 5, 7, 4]~ thì ~S[2 \dots 5]~ là số ~6574~.

Một số nguyên không âm được gọi là may mắn nếu như trong biểu diễn thập phân của số đó không chứa số ~13~.

Ví dụ:

  • Các số may mắn là ~6, 12, 31, 103, \dots~;
  • Các số không may mắn là ~13, 5713, 321321, \dots~

Yêu cầu: Bạn cần thực hiện ~Q~ yêu cầu thuộc một trong hai loại sau:

  • Loại ~1~: Đưa ra số lượng các số may mắn không vượt quá ~S[L \dots R]~;
  • Loại ~2~: Thay giá trị phần tử thứ ~i~ bằng giá trị ~X~.

Input Specification: Data taken from SMM.INP

  • Dòng đầu chứa hai số nguyên dương ~N, Q~ ~(N, Q \le 2 \times 10^5)~;
  • Dòng thứ ~2~ gồm ~N~ số nguyên ~A_1, A_2, A_3, \dots, A_N~ viết liền nhau ~(1 \le A_i \le 9; 1 \le i \le N)~;
  • ~Q~ dòng tiếp theo, mỗi dòng chứa một yêu cầu thuộc một trong hai dạng sau:
    • 1 L R: Mô tả yêu cầu ghi ra số lượng số may mắn không vượt quá ~S[L \dots R]~ ~(1 \le L \le R \le N)~ sau khi chia dư cho ~10^9 + 7~;
    • 2 i X: Mô tả yêu cầu thay giá trị phần tử thư ~i~ bằng giá trị ~X~ ~(1 \le i \le N; 1 \le X \le 9)~.

Output Specification: Data written in SMM.OUT

  • Với mỗi yêu cầu loại ~1~, ghi ra kết quả trên một dòng.

Limitations

  • Có ~20\%~ số Cases ứng với ~20\%~ số điểm thỏa mãn: ~N \le 6; Q = 1~;
  • Có ~20\%~ số Cases ứng với ~20\%~ số điểm thỏa mãn: ~N \le 6~;
  • Có ~20\%~ số Cases ứng với ~20\%~ số điểm thỏa mãn: ~N \le 100~;
  • Có ~20\%~ số Cases ứng với ~20\%~ số điểm thỏa mãn: ~Q \le 2000~;
  • ~20\%~ số Cases còn lại ứng với ~20\%~ số điểm không có ràng buộc gì thêm.

Sample Case(s)

Input #1:
6 3
849613
1 1 2
2 3 4
1 4 4
Output #1:
84
7
Explanation:
  • Với yêu cầu đầu tiên, các số may mắn không vượt quá ~84~ là:
    • ~0, 1, 2, \dots, 12, 14, 15, \dots, 83, 84~;
  • Với yêu cầu thứ ~2~, dãy ~A~ là ~844613~;
  • Với yêu cầu thứ ~3~, các số may mắn không vượt quá ~6~ là:
    • ~0, 1, 2, 3, 4, 5, 6~.

Bình luận

Hãy đọc nội quy trước khi bình luận.


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