排列组合 蛮逗的…… 这题题干描述的就一股浓浓的Kruskal的气息……很容易就想到是求一个n个点的完全图的生成树个数,然后由于有序,再乘一个n-1的排列数(n-1条边的全排列)即(n-1)! 但是我一下就卡在了 完全图的生成树个数这个地方……怎么也想不出来……后来看了题解,原来这是一个奇葩的...
分类:
其他好文 时间:
2015-02-02 21:15:00
阅读次数:
118
问题: (用C++实现) **研究对全排列着色的性质.
首先需要生成n的全排列
然后对n的全排列进行着色, 使得相邻的两个数只需用最少颜色就可以把相邻的两个数用那区分开. (这里相邻包含两层含义:同时在自然顺序和在当前排列的顺序中)
最后, 对着色的结果进行统计
结果需要
给定n,找出所有需要2种颜色的排列.
需要3种颜色的排列
需要4种颜色的排列
(已经证明...
分类:
其他好文 时间:
2015-02-02 14:12:36
阅读次数:
162
小明这些天一直在思考这样一个奇怪而有趣的问题:
在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是:
如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。
当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在小明需要你的帮助。...
分类:
其他好文 时间:
2015-02-01 20:28:02
阅读次数:
186
题意:给N和M。输出1,2,...,N的第M大全排列。思路:将M逆康托,求出a1,a2,...aN。看代码。代码:int const MAXM=10000;int fac[15];int ans[1005];int kk;int n,m;vector pq;int main(){ int cn...
分类:
其他好文 时间:
2015-02-01 16:00:39
阅读次数:
126
本文汇编了一些常见的字符串算法,包括字符串反转算法、字符串左旋算法、字符串右旋算法、字符串旋转匹配算法、字符串包含算法、字符串删除算法、字符串转整数算法、字符串全排列算法、字符串字典序组合算法等。
分类:
编程语言 时间:
2015-01-30 21:05:31
阅读次数:
355
大致题意:3 * 3的黑白格,在翻转的时候会本身和四周的都翻转,问最小翻转几次变成全部是白色解题思路:把3 * 3 = 9 个格子进行全排列,然后穷举然后找翻转的最小次数#include #include #include using namespace std;int dr[] = {0,1,0,...
分类:
其他好文 时间:
2015-01-28 19:28:11
阅读次数:
210
uva 140 Bandwidth
Given a graph (V,E) where V is a set of nodes and E is a set of arcs in VxV, and an
ordering on the elements in V, then the bandwidth of a node
v is defined as the maxim...
分类:
其他好文 时间:
2015-01-28 09:51:07
阅读次数:
137
回溯题型主要有两种,一种是子集生成问题:就是给你一个集合,求它的子集,这种主要是通过选或不选当前元素来枚举所有情况
另一种是枚举全排列。每一次确定当前的选择,则标记,这样下一次的选择就减少了一个。...
分类:
其他好文 时间:
2015-01-28 09:48:16
阅读次数:
173
C语言实验——排列Time Limit: 1000ms Memory limit: 65536K有疑问?点这里^_^题目描述有4个互不相同的数字,请按序输出由其中三个不重复数字组成的排列。输入4个整数。输出所有排列,输出顺序见样例。示例输入1 2 3 4示例输出1 2 31 3 22 1 32 3 ...
分类:
编程语言 时间:
2015-01-27 20:17:15
阅读次数:
334
思路:好好利用递归DFS。 1 #include 2 bool flag[100]={ 3 false 4 }; 5 int ans[100]; 6 void DFS(int i,int n,int level) 7 { 8 flag[i]=true; 9 if(level...
分类:
其他好文 时间:
2015-01-26 20:39:48
阅读次数:
120