把s按相同字符分段,得到段长序列a1,a2,…,ak。
关键等价:每一轮只在相邻段边界处生效,右侧段首被删1个;当中间段清空后,相邻同字符段会合并,后续每轮“只剩下的边界”继续各删1。
正确的聚合方式是“偶数段前缀余额”:
现有 n 块多米诺骨牌排成一行,每块骨牌为黑色(用 1 表示)或白色(用 0 表示)。在每一轮中,每块骨牌会同时向右侧推倒距离它最近的一块异色骨牌;若右侧不存在异色骨牌,则不产生动作。被推倒的骨牌会在本轮结束时被移除,剩余的骨牌保持原顺序进入下一轮。注意,同一块骨牌可能在同一轮中被左侧多块骨牌推倒,但它只被计算一次移除。上述过程不断重复,直到无法再推倒任何骨牌为止。求整个过程中被推倒的骨牌总数。
约束:骨牌数量 n 满足 1≤n≤105,输入字符串仅包含字符 0 和 1。
第一行包含一个整数 n,表示骨牌的数量。
第二行包含一个长度为 n 的字符串,仅由字符 0 和 1 组成,依次表示每块骨牌的颜色(0 为白色,1 为黑色)。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册