DiceTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 491Accepted Submission(s): 290 Problem Descri...
分类:
其他好文 时间:
2014-09-16 12:08:50
阅读次数:
372
八数码问题。BFS+康托展开
很经典的题。问你怎么移动恢复到初始状态。
一开始上下左右的方向搞错了,而且因为是多种答案(Special Judge)所以WA了好几次,于是一步一步打印出来。终于对了。
跑了360ms。ORZ 0ms的大神。 交HDU 的 1070 就无限TLE 。继续优化好了。(自认为自己的逆康托展开写得不好)
#include
#inclu...
分类:
其他好文 时间:
2014-09-11 11:19:01
阅读次数:
270
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=139思路:康托展开式的典型应用,康托展开式是什么呢,举个例子。1,2,3这三个数的全排列共有六种,那么按照字典的顺序,『3,2,1』 这个序列是在第几个呢。康托是这样想的: 首先从第一位.....
分类:
其他好文 时间:
2014-08-25 11:24:14
阅读次数:
237
题意大概就是八数码问题,只不过把空格的移动方式改变了:空格能够向前或向后移动一格或三格(循环的)。分析:其实跟八数码问题差不多,用康托展开记录状态,bfs即可。代码:#include #include #include #include #include #include #include #inc...
分类:
其他好文 时间:
2014-08-12 21:28:14
阅读次数:
236
求第k个排列。刚开始按照一个排列一个排列的求,超时。于是演算了一下,发下有数学规律,其实就是康托解码。康托展开:全排列到一个自然数的双射X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0!ai为整数,并且0 fractial; fr...
分类:
其他好文 时间:
2014-06-15 07:13:59
阅读次数:
192
ACM 简单题 Ignatius and the Princess II hdu1027 康拓展开...
分类:
其他好文 时间:
2014-05-22 06:26:32
阅读次数:
340
康托展开X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,a为整数,并且0#includeint
const MAX_N=12;int const a[MAX_N]={0,1, 2 ,6 ,24 ,120 ,720 ,5040 ,403...
分类:
其他好文 时间:
2014-05-10 05:38:48
阅读次数:
325
我排第几个
时间限制:1000 ms | 内存限制:65535 KB
难度:3
描述
现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的?
输入第一行有一个整数n(0
随后有n行,每行是一个排列;
输出输出一个整数m,占一行,m表示排列是第几位;
样例输入
3...
分类:
其他好文 时间:
2014-05-04 18:56:34
阅读次数:
438
ACM 康托展开 预处理BFS 魔板 hdu1430...
分类:
其他好文 时间:
2014-05-03 23:55:27
阅读次数:
517
此题我用了2种方法去做,bfs和双向 bfs 现在还在学A*,准备学会了再用A*去试试,单向bfs只过了poj,双向bfs全部都过了,具体思想就是搜索加判重,有用hash,有用康托展开,不过康托展开比较方便,因为毕竟可以一一对应,就不用判重的时候还要比较9个数了,康托展开的计算方法是:从最高位开始,在它位数前面比它小的所有数的数量再乘以它(位数-1)的阶乘,再把每一位的这个值给加起来,就是要求的。...
分类:
其他好文 时间:
2014-05-03 17:25:28
阅读次数:
321