随笔分类 - 排列组合
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1430 , 一道比较好的题。 这道题要用到很多知识,康托展开、BFS、打表的预处理还要用到一一映射,做完受益匪浅。 其实这道题也可以用双向BFS来写,思路也已经有了,过几天再来写。 本文持续更新。 先说搜
阅读全文
摘要:康托展开 康托展开的公式是 X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,ai为当前未出现的元素中是排在第几个(从0开始)。 这个公式可能看着让人头大,最好举个例子来说明一下。例如,有一个数组 s = ["A", "B", "C",
阅读全文
摘要:题目描述略) 本题题意为求给定长度为 n 的数列的后第 m 个全排列(字典序)。 对于一个给定的数列 a[0 .. n-1],求其下一个字典序的全排列算法如下: 算法分析:我们可以发现,第一步求出的 i 下标表示 a[i+1 .. n-1] 是一个长度为 n-i-1 的最后一个全排列,且 a[i .
阅读全文

浙公网安备 33010602011771号