摘要: dijkstra+贪心 每次加一个到起始点(首都)距离最小的点。 然后加边,这个最小点必然通过一条边和已加入的某个点相连,在这个最小点与已加入的点相连的边中,选取最短的一条边加入。 证明如下: 前提: 图G=<V,E,W>。点x到点y的最短距离为(途中可经过其它点)为D(x,y)或D(y,x),若y 阅读全文
posted @ 2017-03-28 10:48 congmingyige 阅读(275) 评论(0) 推荐(0)
摘要: 方法1: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <malloc.h> 4 #include <stdbool.h> 5 6 int main() 7 { 8 long i,j,n,ans=0; 9 //vis[x]若为true,则 阅读全文
posted @ 2017-03-26 18:29 congmingyige 阅读(402) 评论(0) 推荐(0)
摘要: 用矩阵求斐波那契数列,快速幂log(n),只用求最后4位(加和乘的运算中前面的位数无用) 阅读全文
posted @ 2017-03-26 17:02 congmingyige 阅读(275) 评论(0) 推荐(0)
摘要: E:even 奇数 O:odd 偶数 若(a,b)为(e,e),则gcd(a,b)=2*gcd(a/2,b/2) 若(a,b)为(e,o),则gcd(a,b)=gcd(a/2,b) 若(a,b)为(o,o)[a>=b],则gcd(a,b)=gcd(a,b-a) 证明: I.若a=c*d b=c*e 阅读全文
posted @ 2017-03-26 16:38 congmingyige 阅读(689) 评论(0) 推荐(0)
摘要: 1.创建链表中没有分配空间 for (i=1;i<=n;i++) { //遗漏,从而使链表的每一个数据的地址都一样 s=(struct node *) malloc (sizeof(struct node)); scanf("%ld",&s->data); s->next=p; p=s; } 2.对 阅读全文
posted @ 2017-03-25 23:05 congmingyige 阅读(657) 评论(0) 推荐(0)
摘要: http://pan.baidu.com/s/1o8a2cFC 阅读全文
posted @ 2017-03-25 22:53 congmingyige 阅读(883) 评论(0) 推荐(0)
摘要: 下载地址:http://pan.baidu.com/s/1nuVew6d 阅读全文
posted @ 2017-03-25 22:13 congmingyige 阅读(581) 评论(0) 推荐(0)
摘要: 1.把很多简单语句括起来 begin end; 2.开始,结束 begin end. 3.判断if if (布尔表达式) then begin 语句 end //没有‘;’ else if () begin 语句 end else begin 语句 end; 4.循环for for i:=1 to 阅读全文
posted @ 2017-03-25 17:17 congmingyige 阅读(286) 评论(0) 推荐(0)
摘要: 其中(x,y)为x和y的最大公约数 1. 若x=s*a,y=s*b,则(x,y)=s*(a,b) 证明: 对于一个质数,a拥有该质数的个数为ai,b拥有该质数的个数为bi,s拥有该质数的个数为si,而x拥有该质数的个数为ai+si,y拥有该质数的个数为bi+si。对于任何质数,都有min(si+ai 阅读全文
posted @ 2017-03-24 20:59 congmingyige 阅读(301) 评论(0) 推荐(0)
摘要: 下载地址:http://pan.baidu.com/s/1jIt6UlK 阅读全文
posted @ 2017-03-23 13:37 congmingyige 阅读(1746) 评论(0) 推荐(0)