CSES 2115 - Bit Substrings
1.0s 512M給你一個長度 \(n\) 的位元字串。你的任務是對每個介於 \(0 \ldots n\) 的 \(k\),計算恰好含有 \(k\) 個 \(1\) 的非空子字串有幾個。
例如,若字串是 101,則:
-
有 1 個子字串含 0 個 \(1\):
0 -
有 4 個子字串含 1 個 \(1\):
01、1、1、10 -
有 1 個子字串含 2 個 \(1\):
101 -
有 0 個子字串含 3 個 \(1\)
輸入格式
唯一一行是一個長度 \(n\) 的二進位字串。
輸出格式
依上述規則輸出 \(n+1\) 個數值。
範例輸入 1
101
範例輸出 1
1 4 1 0
限制
- \(1 \le n \le 2 \cdot 10^5\)
題目來源
題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入