本题与「均载货窗」描述的计算任务一致。按输入格式读入数据后,沿用原题解的算法即可。
题意:给长度为 n 的数字串 s(只含 '0'~'9'),给定一个偶数 k。若某个长度为 k 的子串的前 k/2 个数字之和等于后 k/2 个数字之和,则该子串为“幸运子串”。统计所有幸运子串个数。
算法:前缀和 + 滑动窗口
将字符转为数字,建立前缀和数组 pre[i] 表示前 i 个数字之和。任意窗口 [l, l+k-1]:
sum1 = pre[l+k/2] - pre[l]传送带上依次经过 n 件货物,第 i 件货物的重量用一个数字字符表示,这些字符依次构成长度为 n 的字符串 s。字符串仅由字符 0 到 9 组成,字符对应的整数值即为该件货物的重量。
给定一个偶数 m(满足 2≤m≤n)。将 s 中任意一段长度为 m 的连续货物称为一个货窗。若某个货窗的前 m/2 件货物重量之和等于后 m/2 件货物重量之和,则称该货窗为均载货窗。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册