康托展开的公式是 X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,ai为当前未出现的元素中是排在第几个(从0开始)。 举个例子来说明一下: 例如,有一个数组 s = ["A", "B", "C", "D"],它的一个排列 s1 = [ ...
分类:
其他好文 时间:
2016-12-22 06:27:02
阅读次数:
260
多组数据,每组测试数据输入9个整数,为1-9的一个全排列。初始状态会被描述为 1 2 3 4 5 6 7 8 9 Output 输出所需要的最小移动步数。 Sample Input 1 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 1 Sample Output 0 12 将每个排 ...
分类:
其他好文 时间:
2016-11-27 07:33:18
阅读次数:
242
快要NOIP 2016 了,现在已经停课集训了。计划用10天来复习以前学习过的所有内容。首先就是搜索。 八数码是一道很经典的搜索题,普通的bfs就可求出。为了优化效率,我曾经用过康托展开来优化空间,甚至还用过A*来优化时间。不过这道题懒得写了,就一个普普通通的bfs,再加上一个stl 的map就水过 ...
分类:
其他好文 时间:
2016-10-09 00:23:08
阅读次数:
141
八数码问题。 一方面是空间上的优化,用康托展开和逆康托展开来表示八数码的状态。 另一方面是时间上的优化,用启发式搜索(A*),其中评估函数设定为1-8八数字当前位置到目标位置的曼哈顿距离之和。 ...
分类:
其他好文 时间:
2016-09-17 01:59:07
阅读次数:
252
魔板 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2921 Accepted Submission(s): 649 Problem Des ...
分类:
其他好文 时间:
2016-08-30 13:32:25
阅读次数:
183
Eight Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 30176 Accepted: 13119 Special Judge Description The 15-puzzle has been around for ove ...
分类:
其他好文 时间:
2016-08-29 09:09:59
阅读次数:
185
康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。 康托展开的实质是计算当前排列在所有由小到大全排列中的顺序,因此是可逆的。 以下称第x个全排列是都是指由小到大的顺序。 公式 X=a[n]*(n-1)!+a[n-1]*(n-2)!+…+a[i]*(i-1)!+…+a[1]*0! ...
分类:
其他好文 时间:
2016-06-21 09:19:19
阅读次数:
215
、康托展开:全排列到一个自然数的双射 X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! ai为整数,并且0<=ai<i(1<=i<=n) 适用范围:没有重复元素的全排列 二、全排列的编码: {1,2,3,4,...,n}的排列总共有n!种,将 ...
分类:
其他好文 时间:
2016-06-18 15:29:31
阅读次数:
207
codevs 1225 八数码难题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond codevs 1225 八数码难题 codevs 1225 八数码难题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 时间限制: 1 ...
分类:
其他好文 时间:
2016-06-11 11:55:38
阅读次数:
378