codevs2601专题

[CODEVS2601]重复刷新相反数求最大和 解题报告

刚做这题的时候脑抽了,百WA之后发现不会做,然后看的题解才A的。。 原问题抽象为一个01串,每次必须翻转任意M个,求最少剩下多少个1(即原题中的负数)。 设a为01串中1的个数。 则a的转移必为a->a-k+m-k,即a->a+m-2k ①m为偶数时,易知a无法改变其奇偶性,所以若a为奇数,则最多会剩下一个1。 ②m为奇数时,则a的奇偶性由翻转的次数与a原本的奇偶性决定,所以无论a为奇数