题目描述 给出一个1到n的全排列,现在对这个全排列序列进行m次局部排序,排序分为两种:1:(0,l,r)表示将区间[l,r]的数字升序排序2:(1,l,r)表示将区间[l,r]的数字降序排序最后询问第q 位置上的数字。 输入 输入数据的第一行为两个整数n和m。n表示序列的长度,m表示局部排序的次数。 ...
分类:
编程语言 时间:
2017-10-23 21:47:01
阅读次数:
282
Python之 多重循环 在循环内部,还可以嵌套循环,我们来看一个例子: for x in ['A', 'B', 'C']: for y in ['1', '2', '3']: print x + y x 每循环一次,y 就会循环 3 次,这样,我们可以打印出一个全排列: A1A2A3B1B2B3C ...
分类:
编程语言 时间:
2017-10-22 23:24:33
阅读次数:
149
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5727 Problem DescriptionSJX has 2*N magic gems. N of them have Yin energy inside while others hav ...
分类:
编程语言 时间:
2017-10-18 23:14:33
阅读次数:
334
假设:有n个数需要排序。 n个数的全排列方式是A(n,n) = n! 基于比较,i<j. 在最优的情况下,可以在n!个可能中筛去一半。 也就是说剩下(n!/2)种可能. 这样的比较方式进行k次。最后筛出一种(符合要求的)排序: n!/(2k) < 1 公式推导: 2k > n! //我理解就是k表示 ...
分类:
编程语言 时间:
2017-10-16 15:01:31
阅读次数:
226
一道面向过程的搜索题 如果采用模块化的思想这道题会很好写。 先用dfs求出全排列, 然后我们写一个place函数,处理所有的拓展油滴情况即可 这样能够避免头晕以及不必要的调试。 ...
分类:
其他好文 时间:
2017-10-15 19:49:15
阅读次数:
215
1 //这个东西有可能扫描不到全部的,可以在前面sort一下再扫. 2 do{ 3 4 }while(next_permutation(num,num+n)); ...
分类:
其他好文 时间:
2017-10-14 17:03:31
阅读次数:
122
若能凑出其中一个式子,则能反演出另外一个式子 应用: HDU 1465 设g(i)表示正好有i封信装错信封 那么全部的C(n, i)*g(i)加起来正好就是所有装信的情况,总共n!(全排列)种情况 即: 代码: ...
分类:
其他好文 时间:
2017-10-13 19:06:15
阅读次数:
175
题目描述 给一个1到N的排列{Ai},询问是否存在1<=p1<p2<p3<p4<p5<…<pLen<=N (Len>=3),使得Ap1,Ap2,Ap3,…ApLen是一个等差序列。 输入 输入的第一行包含一个整数T,表示组数。 下接T组数据,每组第一行一个整数N,每组第二行为一个1到N的排列,数字两 ...
分类:
其他好文 时间:
2017-10-13 17:09:42
阅读次数:
145
其实这个题目和(1,2,3,4,......)这种数的全排列组合是类似的 1 #include 2 #include 3 char** letterCombinations(char* digits, int* returnSize); 4 int main() { 5 6 char* digits... ...
分类:
其他好文 时间:
2017-10-13 12:27:43
阅读次数:
141