07 2013 档案

摘要:康托展开的公式把一个整数X展开成如下形式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[2]*1!+a[1]*0! 其中,a为整数,并且0<=a[i]<i(1<=i<=n)康托展开的应用实例{1,2,3,4,...,n}表示1,2,3,...,n的排列如 {1,2,3} 按从小到大排列一共6个。123 132 213 231 312 321 。 代表的数字 1 2 3 4 5 6 也就是把10进制数与一个排列对应起来。 他们间的对应关系可由康托展开来找到。 如我想知道321是{1,2,3}中第几个大的数可以这样考虑 阅读全文
posted @ 2013-07-24 15:07 瓶哥 阅读(413) 评论(0) 推荐(0) 编辑
摘要:1 const int MAX_VERTEX_NUM = 100; //最大顶点数为100 2 3 typedef struct EdgeNode //边表结点 4 { 5 int adjvex; //该边指向的顶点在顺序表中的位置 6 int weight; //边上的权重 7 struct EdgeNode* next; //下一条边 8 }EdgeNode; ... 阅读全文
posted @ 2013-07-19 14:32 瓶哥 阅读(180) 评论(0) 推荐(0) 编辑
摘要:1 #include 2 const int MAX = 1<<20; 3 int main() 4 { 5 int n,m,p,q,l; 6 while(~scanf("%d%d",&n,&m),n||m) 7 { 8 int map[101][101], mark[101]={0}; 9 for(int i=1; i<=n; i++)10 {11 for(int j=1; j<=n; j++)12 {13 map[i][j] = MAX; //初始化每条... 阅读全文
posted @ 2013-07-18 13:56 瓶哥 阅读(2514) 评论(0) 推荐(0) 编辑
摘要:chuanbindeng 的 素数判断算法关于素数的算法是信息学竞赛和程序设计竞赛中常考的数论知识,在这里我跟大家讲一下寻找一定范围内素数的几个算法。看了以后相信对大家一定有帮助。 正如大家都知道的那样,一个数 n 如果是合数,那么它的所有的因子不超过sqrt(n)--n的开方,那么我们可以用这个性质用最直观的方法来求出小于等于n的所有的素数。 1 num = 0; 2 3 for(i=2; isqrt(i) ) prime[num++] = i; //这个prime[]是int型,跟下面讲的不同。10 11 } 这就是最一般的求解n以内素数的算法。复杂度是o(n*sqrt... 阅读全文
posted @ 2013-07-14 22:48 瓶哥 阅读(1284) 评论(0) 推荐(0) 编辑
摘要:得到的并非最优解 1 /* 2 迭代加深搜索解埃及分数 3 19/45=1/3 + 1/12 + 1/180 4 19/45=1/3 + 1/15 + 1/45 5 19/45=1/3 + 1/18 + 1/30 6 19/45=1/4 + 1/6 + 1/180 7 19/45=1/5 + 1/6 + 1/18 8 最后一种最好,因为1/18比1/180,1/45,1/30,1/180都大 9 */10 //按照分母递增的顺序来扩展,若扩展到d层时,11 //前d个分数之和为 now ,而第d个分数为 1 / maxdion,则接下来12 //至少还要( frac - now )... 阅读全文
posted @ 2013-07-13 15:22 瓶哥 阅读(348) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示