码迷,mamicode.com
首页 >  
搜索关键字:康托展开    ( 153个结果
【哈希!简】康托展开与逆康托展开
康托展开是利用全排列与当前排列次序的映射建立一个简易哈希表 康托展开 ans=a0*(n-1)!+a1*(n-2)!+····+an*(n-n)! 找了半天解释, 就是ai表示剩下的数字中小于当前该数的个数,然后乘以剩下的数字的阶乘 意思也就说,剩下的数字中小于当前该数都可以代替当前数字,乘以阶乘就 ...
分类:其他好文   时间:2018-11-17 17:49:48    阅读次数:158
康托展开
康托展开:康托展开是一个全排列到一个自然数的双射,常用于构建hash表时的空间压缩。设有n个数(1,2,3,4,…,n),可以有组成不同(n!种)的排列组合,康托展开表示的就是是当前排列组合在n个不同元素的全排列中的名次。 公式:X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i ...
分类:其他好文   时间:2018-10-20 10:15:55    阅读次数:195
Luogu2578 [ZJOI2005]九数码游戏
状态数不是很多,直接 bfs 输出方案就记录 pre 状态即可 但是问题在于存状态 可行的一些方案是:哈希/map,康托展开 于是就学了一波康托展开 用康托展开的地方的地方感觉不会很多,毕竟要 n^2 算 大概意思就是给一个排列 hash 计算出来的就是这个排列在所有 n 的排列中的排名 计算方式就 ...
分类:其他好文   时间:2018-10-11 17:00:03    阅读次数:114
逆康托展开
处理何种问题:与康托展开恰恰相反,及已知元素个数和所要求的名次,可以输出该名次的排列方式。 性能:时间复杂度为 O(len^2),len 为字符串长度 原理:略 实现步骤:略 备注:名次从1开始,名次不再范围内的话会出现乱码 输入样例解释: 5 //元素个数 2 //字典序名称 输出样例解释: 1 ...
分类:其他好文   时间:2018-09-18 17:25:05    阅读次数:287
P2730 魔板 Magic Squares
没看过题的童鞋请去看一下题 "P2730 魔板 Magic Squares" 不了解康托展开的请来这里 "我这里" 至于这题 为什么可以用康托展开 ?~~(瞎说时间到.~~ 因为只有8个数字,且只有1~8这8个数字,所以我们可以算出最多情况有8!=40320个. 所以我们完全可以开数组记录这些状态并 ...
分类:其他好文   时间:2018-09-09 15:11:59    阅读次数:145
hdu1027(逆康托展开)
src:http://acm.hdu.edu.cn/showproblem.php?pid=1027 一开始已经提过了,康托展开是一个全排列到一个自然数的双射,因此是可逆的。即对于上述例子,在(1,2,3,4,5)给出61可以算出起排列组合为 34152。由上述的计算过程可以容易的逆推回来,具体过程 ...
分类:其他好文   时间:2018-08-16 14:06:34    阅读次数:218
[学习][Math]康托展开和逆康托展开
一、康托展开 问题:{1,2,3,4,5}5个数的全排列中,{2,3,1,5,4}排字典序的第几位? 解决:计算{2,3,1,5,4}的康托展开值:x=a[1]*4!+a[2]*3!+a[3]*2!+a[4]*1!+a[5]*0!=1*24+1*6+0*2+1*1+0*0=31, 所以{2,3,1, ...
分类:其他好文   时间:2018-08-07 12:59:15    阅读次数:122
全排列和康托展开
一、康托展开:全排列到一个自然数的双射 X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! ai为整数,并且0<=ai<i(1<=i<=n);其中X最常见的可以设为:0 <=X<=n!-1,第一个排列即123...n;该排列的X可设为0; 适用 ...
分类:其他好文   时间:2018-07-30 22:10:59    阅读次数:217
HDU - 1430 - 魔板( 康托展开 + BFS预处理 )
魔板 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4242 Accepted Submission(s): 1011 Problem Des ...
分类:其他好文   时间:2018-07-28 18:28:51    阅读次数:143
hdu 1043 Eight
欸我一直以为双向bfs是搜完一半再搜另一半呢,妹想到是两个一起搜 然后队列里放的结构体里不能直接存答案,所以做一个邻接表一样的东西,直接指向需要的字符即可 记录状态用康托展开来hash 以及居然是多组数据啊?! cpp include include include include using na ...
分类:其他好文   时间:2018-06-06 21:58:05    阅读次数:130
153条   上一页 1 2 3 4 5 6 ... 16 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!