摘要:
求一个图的最小生成树,用了prim,0ms,但前面WA了几次,这里进一步理解了prim,外部循环i只是控制次数,内部不用看i与j的值的关系,把d赋值成0,表示在树里,节省了一个布尔数组。View Code 1 program pku1258(input,output); 2 var 3 f : array[0..200,0..200] of longint; 4 d : array[0..200] of longint; 5 n : longint; 6 answer : longint; 7 procedure init; 8 var ... 阅读全文
摘要:
给一些牛的排名关系,问有多少牛的排名确定。如果A比B强,就由A向B连边,之后求出这个图的传递闭包,对于一头牛,如果比它强的+比它弱的=N-1,它的排名一定。View Code 1 program pku3660(input,output); 2 var 3 g : array[0..101,0..101] of boolean; 4 answer : longint; 5 n,m : longint; 6 procedure init; 7 var 8 i,x,y : longint; 9 begin10 fillchar(g,sizeof(... 阅读全文
摘要:
给定一个图,N个顶点,M条边,N值极小,对于每一条边,有ai,bi,ci,pi,ri这几个参数,表示这条边从ai到bi,如果之前经过了ci,那么费用是pi,否则费用为ri,求从1到N的最小费用。用f[i,j]为节点,i表示当前在哪个点,j转化为二进制数后为0位表示未经过这一点,为1这表示经过了这一点,进行SPFA即可{对j的解释,11:1011,表示经过1,3,4这三个点而没有经过2}View Code 1 program pku3411(input,output); 2 type 3 node = ^link; 4 link = record 5 ... 阅读全文