听大佬们说了这么久Pólya定理,终于有时间把这个定理学习一下了。 置换 (permutation)简单来说就是一个(全)排列,比如 $1,2,3,4$ 的一个置换为 $3,1,2,4$。一般地,我们记 $i$ 到 $a_i(1 ...
分类:
其他好文 时间:
2019-10-20 00:55:53
阅读次数:
90
给定一个没有重复数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]] ...
分类:
其他好文 时间:
2019-10-19 22:19:32
阅读次数:
110
问题描述: 样例: 实现解释: 针对这个问题,首先可以想到有两种解决方法:构造全排列然后分别筛选后进行判断,逆序判断。 而显然对于前者时间是一定不够的(10以上数字的全排列构建时间就已经很长了),所以需要进行逆序判断。 即如果是符合条件的数组,那么经过筛选器后一定会是一个即将排好序的数组。所以只需要 ...
分类:
编程语言 时间:
2019-10-19 00:11:40
阅读次数:
81
基本思路: 其实对于回溯法,我们要从反向开始考虑。我们每次从原始数组中选择一个加入到结果中,当原始数组中(新建的)没有元素时(也就是len(a)==0,此时结果为[1,2,3]),我们得到了第一个排列,我们将这个排列加入到结果集中,然后返回上一步,也就是我们现在有[1,2],再返回一步[1],此时再 ...
分类:
其他好文 时间:
2019-10-17 23:53:05
阅读次数:
144
题意 求1~n的全排列$P_i$的个数,满足对于$i\geq 2$,有$P_i P_{i/2}$ 思路 随手画个图就可以发现问题是求大小为$n$的小根堆的个数 由于左右子树互不影响,直接DP即可,设$dp_{i}$表示以$i$为根的小根堆的个数,有$dp_i = dp_{i 2} dp_{i 2+1 ...
分类:
其他好文 时间:
2019-10-16 19:27:18
阅读次数:
72
【HEOI2016/TJOI】排序 题目描述 在2016年,佳媛姐姐喜欢上了数字序列。因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题,需要你来帮助他。这个难题是这样子的:给出一个1到n的全排列,现在对这个全排列序列进行m次局部排序,排序分为两种:1:(0,l,r)表示将区间[l,r ...
分类:
编程语言 时间:
2019-10-14 22:18:24
阅读次数:
161
1 void dfs(int x) 2 { 3 if(x>n) 4 { 5 for(int i=1;i<=n;++i) cout<<a[i]; 6 cout<<endl; 7 return; 8 } 9 for(int i=1;i<=n;++i) 10 { 11 if(!v[i]) 12 { 13 ...
分类:
其他好文 时间:
2019-10-13 14:49:54
阅读次数:
54
字典序:(联合康托展开就也可以按照中介数求) 邻位对换、递增进位制数,递减进位制数:具体的实现和算法讲解如下: 代码。。C++版的实现并不好。。因为是挨个向后找的,如果K很大的时候会超时,不过。。。思路是这样。。。,第二版C++没有完成。。。因为不想写了,思路很简单,一次加减K就可以了 python ...
分类:
其他好文 时间:
2019-10-09 22:37:53
阅读次数:
177
题目链接:https://www.luogu.org/problem/CF1208D 题意:现在有一个从11到nn的一个全排列,但是你不知道这个排列到底是什么,但是你有一个sum[i],sum[i]的值是所有满足j<i并且a[j]<a[i]的值之和,给出每个点的sum[i],求出原本的全排列 分析: ...
分类:
其他好文 时间:
2019-10-05 12:55:09
阅读次数:
87
https://www.luogu.org/problem/P1439 看到标题你肯定会想什么狗屁 奇技淫巧 ,不就是个模板题吗 然后乍一看数据范围,是不是觉得很方? 本题的关键在于它还给出了一个条件, 那就是这两个序列都是 排列 就是说不会有元素重复!!!(突破口应该放在这里) 而且两序列的元素排 ...
分类:
其他好文 时间:
2019-10-05 12:24:52
阅读次数:
84