HDU 4828 Grids思路:能够转化为卡特兰数,先把前n个人标为0。后n个人标为1。然后去全排列,全排列的数列。假设每一个1的前面相应的0大于等于1,那么就是满足的序列,假设把0看成入栈,1看成出栈。那么就等价于n个元素入栈出栈,求符合条件的出栈序列,这个就是卡特兰数了。然后去递推一下解,过程...
分类:
其他好文 时间:
2015-07-01 13:48:15
阅读次数:
128
今天发现一个非常好用的函数next_permutation(),利用这个函数这以很容易的列出一组数据的所有排列组合。利用全部排列解决了火车进站问题。...
分类:
其他好文 时间:
2015-06-30 10:52:12
阅读次数:
1304
1 #include 2 3 template 4 void Perm(T a[], int k, int n) 5 { 6 if(k==n-1) 7 { 8 for(int i=0;i<n;i++) 9 std::cout<<a[i]<<...
分类:
其他好文 时间:
2015-06-29 23:41:00
阅读次数:
122
题意:
就是让你构造一个序列,使得序列异或和最大,序列为n 的全排列 ,序列和计算方式为 SUM = a[1] ^ 0 + a[2] ^ 1 + a[3] ^ 2 + .......a[n] ^ n
构造出一个序列使得和最大
题解:
策略为使得每次异或出来的结果的1尽可能多,而优先从最大的n 开始考虑,因为n 最有可能出更大的数字
代码:
#include
#inc...
分类:
其他好文 时间:
2015-06-21 18:35:41
阅读次数:
123
原题是找到一组数的全排列Given a collection of numbers, return all possible permutations.For example,[1,2,3]have the following permutations:[1,2,3],[1,3,2],[2,1,3]...
分类:
编程语言 时间:
2015-06-19 18:14:46
阅读次数:
167
D的小L
时间限制:4000 ms | 内存限制:65535 KB
难度:2
描述 一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个题目想难倒匡匡(小L很D吧),有一个数n(0,,,聪明的你能帮匡匡解围吗?
输入第一行输入一个数N(0
输出按特定顺序输出所有组合。
特定顺序:每一个组合中...
分类:
其他好文 时间:
2015-06-18 22:15:17
阅读次数:
118
"; //输出第一种组合while (true) { $y = $x--; //相邻的两个元素 if ($source[$x] $source[$z]) { //从尾部开始,找到第一个大于 $x 元素的值 $z--; } /* 交换 $...
分类:
编程语言 时间:
2015-06-17 10:53:25
阅读次数:
126
function permute(input) { var permArr = [], usedChars = []; function main(input){ var i, ch; for (i = 0; i < input.length; i++) { ch = i...
分类:
编程语言 时间:
2015-06-16 22:48:11
阅读次数:
196
给定一个数组,求出全排列的情形?
算法描述:
/**
— 给定数组 3 4 6 9 8 7 5 2 1
如何求出紧挨着的下一个排列?
step1:从后面扫描,找到第一个下降的数(6),并记录;
step2:依然从后面扫描,找到第一个大于step1(6)的数7,并记录;
step3:交换step1(6)、step2(7);=》3 4 7 9 8 6...
分类:
编程语言 时间:
2015-06-16 21:19:16
阅读次数:
139