# 1131: [POI2008]Sta

## 1131: [POI2008]Sta

Time Limit: 10 Sec  Memory Limit: 162 MB

Submit: 783  Solved: 235

[Submit][Status]

## Sample Input

8 1 4 5 6 4 5 6 7 6 8 2 4 3 4

7

## Source

``` 1 {\$M 10000000,0,maxlongint}
2 type
3     point=^node;
4     node=record
5                g:longint;
6                next:point;
7     end;
8
9 var
10    i,j,k,l,m,n:longint;
11    a1,a2:int64;
12    a:array[0..2000000] of point;
13    b,c,d,e:array[0..2000000] of int64;
15           var p:point;
16           begin
17                if x=y then exit;
18                new(p);
19                p^.g:=y;
20                p^.next:=a[x];
21                a[x]:=p;
22           end;
23 procedure built(x:longint);inline;
24           var p:point;
25           begin
26                p:=a[x];
27                c[x]:=1;
28                while p<>nil do
29                      begin
30                           if d[p^.g]=0 then
31                              begin
32                                   d[p^.g]:=1;
33                                   b[p^.g]:=b[x]+1;
34                                   built(p^.g);
35                                   c[x]:=c[x]+c[p^.g];
36                              end;
37                           p:=p^.next;
38                      end;
39           end;
40 procedure run(x:longint);inline;
41           var p:point;
42           begin
43                p:=a[x];
44                while p<>nil do
45                      begin
46                           if d[p^.g]=0 then
47                              begin
48                                   d[p^.g]:=1;
49                                   e[p^.g]:=e[x]+int64(n)-(2*c[p^.g]);
50                                   run(p^.g);
51                              end;
52                           p:=p^.next;
53                      end;
54           end;
55
56 begin
58      for i:=1 to n do a[i]:=nil;
59      for i:=1 to n-1 do
60          begin
63          end;
64      fillchar(b,sizeof(b),0);
65      fillchar(c,sizeof(c),0);
66      fillchar(d,sizeof(d),0);
67      d[1]:=1;
68      built(1);
69      fillchar(d,sizeof(d),0);
70      fillchar(e,sizeof(e),0);
71      d[1]:=1;
72      for i:=1 to n do e[1]:=e[1]+b[i];
73      run(1);
74      a1:=-1;a2:=0;
75      for i:=1 to n do
76          begin
77               if e[i]>a1 then
78                  begin
79                       a1:=e[i];
80                       a2:=i;
81                  end;
82          end;
83      writeln(a2);
85 end.```

0 条评论

• ### 2292: 【POJ Challenge 】永远挑战

2292: 【POJ Challenge 】永远挑战 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 553 ...

• ### 3522: [Poi2014]Hotel

3522: [Poi2014]Hotel Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 253  Solve...

• ### 算法模板——Dinic网络最大流 2

实现功能：同Dinic网络最大流 1 这个新的想法源于Dinic费用流算法。。。 在费用流算法里面，每次处理一条最短路，是通过spfa的过程中就记录下来，然后顺...

• ### 2292: 【POJ Challenge 】永远挑战

2292: 【POJ Challenge 】永远挑战 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 553 ...

• ### 算法模板——Dinic网络最大流 2

实现功能：同Dinic网络最大流 1 这个新的想法源于Dinic费用流算法。。。 在费用流算法里面，每次处理一条最短路，是通过spfa的过程中就记录下来，然后顺...

• ### 算法模板——Dinic最小费用最大流

实现功能：输入M,N,S,T；接下来M行输入M条弧的信息（包括起点，终点，流量，单位费用）；实现功能是求出以S为源点，T为汇点的网络最大流的最小费用 其实相当的...

• ### 1601: [Usaco2008 Oct]灌水

1601: [Usaco2008 Oct]灌水 Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 1342  S...

• ### 算法模板——计算几何2（二维凸包——Andrew算法）

实现功能：求出二维平面内一对散点的凸包（详见Codevs 1298） 很神奇的算法——先将各个点按坐标排序，然后像我们所知的那样一路左转，求出半边的凸包，然后反...

• ### Confluence 6 数据库整合的限制 原

注意： Confluence 自带的 XML 方式导出方法并不适用于备份和整合大数据集。这里有一些第三方的数据库工具你可以使用能够帮助你对大数据集进行备份和整合...

• ### MySQL row格式的两个问题

作者简介： ? 刘伟 云和恩墨开源解决方案事业部首席架构师 多年一线互联网企业DBA经历，对MySQL、NoSQL，PostgreSQL等各类开源数据库均有涉猎...