码迷,mamicode.com
首页 >  
搜索关键字:uva10716    ( 2个结果
Evil Straw Warts Live (Uva10716 回文串+贪心)
题意:判断一个串能否通过临近的两个字符多次交换变成回文串,不能输出“Impossible”,能的话输出最少的交换次数。 思路:预处理每个字母出现的次数,若有>=2个字母出现的次数是奇数则不可能。然后从两边向中间贪心,每次先固定前端,然后从后端向中间逐步找,直到找到第一个与前端相同字母时break,将找到的字母向后移,加上移动的次数(不知道为什么可以这么做,网上说这样做 和 每次找最优 最后结果是一样的,暂时还没有证明出来)。若碰到个数为奇数的字母时,将它往后顺移,最后它就会在中央位置了。...
分类:其他好文   时间:2015-03-31 14:50:46    阅读次数:118
UVA10716 - Evil Straw Warts Live
题意:如果可以的话,使用最少的交换次数,使得字符串变成回文字符串。 思路:首先我们可以先判断这个字符串是否有成为回文的可能性。当一个字符串中出现两个或两个以上的奇数个数的字符,那么这个字符串一定不能成为回文字符串。 之后就要讨论怎么使用最少的交换次数使得变成回文字符串。我们可以采取由外到内的方法,即先将头尾两端的字符交换成相同的,然后left++,right--,慢慢向内靠拢。 为了...
分类:其他好文   时间:2014-08-01 23:17:32    阅读次数:219
2条  
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!