问题要求通过最少的修改次数,使得修改后的能量数组与符文串匹配。匹配规则如下:
0,要求 ai≤0;1,要求 ai≥0;Z,要求 ai=0,且当 1<i<n 时,还需满足 ai−1×ai+1≥0(即左右邻居同号或至少一个为零)。可以按照以下贪心策略处理:
魔法师获得了一串长度为 n 的符文串 s,它仅由字符 0、1 和 Z 组成,同时得到一个长度为 n 的整数能量数组 a1,a2,…,an。
我们称能量数组与符文串匹配,当且仅当对每个位置 i (1≤i≤n) 满足:
0,则 ai≤0;1,则 ai≥0;Z,则 ai=0,并且当 1<i<n 时,还需要额外满足 ai−1×ai+1≥0(两端位置无此额外限制)。魔法师可以将能量数组中的任意元素修改为任意整数,每次修改仅改变一个元素的值。请求出最少需要修改多少个元素,才能使修改后的能量数组与给定的符文串匹配。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.