题解:AT_arc194_c [ARC194C] Cost to Flip
AT_arc194_c [ARC194C] Cost to Flip
题意
给出两个长度为
你每次可以进行以下操作(也可以不进行),使最终得到
-
选择一个数
i ,对A_i 进行异或操作。 -
总代价加上
{\textstyle \sum_{i=1}^{n}} [A_i=1] C_i 。
求最小代价。
做法
通过观察,发现对于某一个
-
若
A_i=0,B_i=0 则一定不需要对其进行操作(证明显然)。 -
若
A_i=1,B_i=0 则一定要尽快把其置为0 ,因为徒增代价显然是不利的。 -
若
A_i=0,B_i=1 则一定要把把A_i 置为1 的操作放在后面,因为过早增加代价显然也是不利的。 -
若
A_i=1,B_i=1 ,则发现可能会出现两种情况,一种是不改变他,使其一直进行贡献,一种是把它拆成10+01 。
显然对这个序列可以进行排序,对结果无影响。
我们显然发现会更改的
发现
显然具有单调性。可以枚举插入的位置。