CSES - Bit Substrings | Xâu con nhị phân

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1900 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho một chuỗi bit có độ dài \(n\). Với mỗi \(k\) từ \(0 ... n\), tính số chuỗi không rỗng có chứa đúng \(k\) số \(1\).

Ví dụ, nếu chuỗi là 101, có:

  • \(1\) chuỗi con chứa \(0\) số \(1\): 0
  • \(4\) chuỗi con chứa \(1\) số \(1\): 01, 1, 1, 10
  • \(1\) chuỗi con chứa \(2\) số \(1\): 101
  • \(0\) chuỗi con chứa \(3\) số \(1\)

Input

  • Dòng duy nhất chứa chuỗi nhị phân độ dài \(n\)
  • \(1 \leq n \leq 2 \cdot 10^5\)

Output

  • Một dòng chứa \(n + 1\) giá trị được chỉ định trên đề bài

Example

Test 1

Input
101
Output
1 4 1 0
Note
  • \(1\) chuỗi con chứa \(0\) số \(1\): 0
  • \(4\) chuỗi con chứa \(1\) số \(1\): 01, 1, 1, 10
  • \(1\) chuỗi con chứa \(2\) số \(1\): 101
  • \(0\) chuỗi con chứa \(3\) số \(1\)

Bình luận (1)

Mới nhất
Tải bình luận...