码迷,mamicode.com
首页 >  
搜索关键字:最少的交换次数    ( 29个结果
UVa 11330 - Andy's Shoes
题目:有双配对出错鞋子,要求最少的交换次数,使得鞋子配对摆放。 分析:组合数学,置换群。统计置换中循环的个数k,则结果为n-k。             循环内部(设有m个元素)需要交换m-1次(除最后一次,每次交换最多只能有一个复位) 说明:注意鞋子的编号不一定是1~n,是1~10000之间的数字,计算时需要做映射。 #include #include #include #incl...
分类:其他好文   时间:2015-05-29 06:15:46    阅读次数:171
最少的交换
最少的交换最少的交换题目描述现在给你一个由 n 个互不相同的整数组成的序列,现在要求你任意交换相邻的两个数字,使序列成为升序序列,请问最少的交换次数是多少?输入格式输入包含多组测试数据。每组输入第一行是一个正整数 n(nusing namespace std;const int maxn = 500...
分类:其他好文   时间:2015-04-07 09:36:33    阅读次数:1014
Evil Straw Warts Live (Uva10716 回文串+贪心)
题意:判断一个串能否通过临近的两个字符多次交换变成回文串,不能输出“Impossible”,能的话输出最少的交换次数。 思路:预处理每个字母出现的次数,若有>=2个字母出现的次数是奇数则不可能。然后从两边向中间贪心,每次先固定前端,然后从后端向中间逐步找,直到找到第一个与前端相同字母时break,将找到的字母向后移,加上移动的次数(不知道为什么可以这么做,网上说这样做 和 每次找最优 最后结果是一样的,暂时还没有证明出来)。若碰到个数为奇数的字母时,将它往后顺移,最后它就会在中央位置了。...
分类:其他好文   时间:2015-03-31 14:50:46    阅读次数:118
完美的代价
http://www.tuicool.com/articles/EJraqu问题描述回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。交换的定义是:交换两个相邻的字符例如ma...
分类:其他好文   时间:2015-03-09 20:40:30    阅读次数:188
关于一个求最小交换次数的算法的一个严格证明,是严格证明,不是想当然
问题描述: 有一个1~n的数列的排列,但是这个数列已经被打乱了排列顺序,如果我们只是通过“交换任意两个元素”,那么,要实现元素从1~n的有序排列,“最少的交换次数是多少?” 解答过程: 首先我们纸上可以先写写简单的情况试试,比如排列:4 3 1 2, 交换次数=3;我们可以在多组测试中,边测试边想,真正的实现需要满足:4本该到2处, 2本该到3处, 3本该到1处, 1本该到4处,刚好一个循环...
分类:编程语言   时间:2015-01-06 12:02:58    阅读次数:123
UVA 11330 - Andy's Shoes(置换分解)
UVA 11330 - Andy's Shoes 题目链接 题意:andy有很多双鞋子,每双鞋子有一个编号,现在他把鞋子左右左右放回去,可是不能保证所有鞋子左边和右边是同一编号,现在要求用最少的交换次数,使得所有鞋子左右编号相同 思路:置换的分解,固定左边的鞋子,这样右边的鞋子就可以看成是放在哪个位置,然后根据这个求出每个循环的长度,最后每个循环长度-1的总和就是答案 代码...
分类:其他好文   时间:2014-08-08 18:19:47    阅读次数:256
UVA10716 - Evil Straw Warts Live
题意:如果可以的话,使用最少的交换次数,使得字符串变成回文字符串。 思路:首先我们可以先判断这个字符串是否有成为回文的可能性。当一个字符串中出现两个或两个以上的奇数个数的字符,那么这个字符串一定不能成为回文字符串。 之后就要讨论怎么使用最少的交换次数使得变成回文字符串。我们可以采取由外到内的方法,即先将头尾两端的字符交换成相同的,然后left++,right--,慢慢向内靠拢。 为了...
分类:其他好文   时间:2014-08-01 23:17:32    阅读次数:219
uva10716Evil Straw Warts Live(贪心)
题目:uva10716Evil Straw Warts Live(贪心) 题目大意:给出一个字符串,问如何交换字母位置能够得到回文。这里求最少的交换次数。如果不能通过交换得到回文,输出Impossible。 交换只允许和相邻的字母进行交换。 解题思路:贪心策略:每次都是先将距离两边距离和最短的对称的字母移到到两边,这样这两个字母就对称了,且交换次数是最少的。然后就将这两个字母...
分类:其他好文   时间:2014-07-28 16:08:33    阅读次数:241
[BASIC-19] 完美的代价
基础练习 完美的代价   时间限制:1.0s   内存限制:512.0MB 问题描述   回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。   交换的定义是:交换两个相邻的字符   例如mamad   第一次交换 ad : mamda...
分类:其他好文   时间:2014-05-21 16:17:33    阅读次数:582
29条   上一页 1 2 3
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!