[luogu]P2279 [HNOI2003]??????????????????[??????]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[luogu]P2279 [HNOI2003]??????????????????[??????]相关的知识,希望对你有一定的参考价值。

???????????????   ????????????   ??????????????????   class   cst   ret   dfs   har   san   

[luogu]P2279

[HNOI2003]??????????????????

????????????

2020?????????????????????????????????????????????????????????????????????n?????????????????????????????????????????????????????????n-1????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????A?????????B???????????????d?????????????????????????????????A?????????B????????????d???

?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????2?????????????????????

?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

??????????????????

???????????????

??????????????????input.txt???

???????????????????????????n ???n<=1000???????????????????????????????????????????????????n-1?????????????????????????????????????????????i??????????????????a[i]?????????????????????i?????????????????????a[i]??????????????????????????????????????????????????????????????????????????????????????????a[i]<i???

???????????????

??????????????????output.txt

?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

??????????????????

????????????1#???

6
1
2
3
4
5

????????????1#???

2


 

??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????dfs????????????????????????????????????????????????????????????????????????

??????????????????STL??????

 1 //2017.11.6
 2 //greedy
 3 #include<iostream>
 4 #include<cstdio>
 5 #include<cstring>
 6 #include<algorithm>
 7 #include<queue>
 8 using namespace std;
 9 inline int read();
10 namespace lys{
11     const int N = 1e3 + 7 ;
12     struct egde{
13         int to;
14         int next;
15     }e[N*3];
16     struct DEEP{
17         int node,deep;
18         bool operator < (const DEEP &a) const{
19             return a.deep>deep;
20         }
21     };
22     priority_queue<DEEP> q;
23     bool used[N];
24     int pre[N],fa[N];
25     int n,cnt;
26     void add(int x,int y){
27         e[++cnt].to=y;e[cnt].next=pre[x];pre[x]=cnt;
28         e[++cnt].to=x;e[cnt].next=pre[y];pre[y]=cnt;
29     }
30     void dfs(int node,int deep){
31         q.push((DEEP){node,deep});
32         int i,v;
33         for(i=pre[node];i;i=e[i].next){
34             v=e[i].to;
35             if(v==fa[node]) continue ;
36             fa[v]=node;
37             dfs(v,deep+1);
38         }
39     }
40     void dfs1(int node,int deep){
41         if(deep>2) return ;
42         int i,v;
43         used[node]=true ;
44         for(i=pre[node];i;i=e[i].next){
45             v=e[i].to; dfs1(v,deep+1);
46         }
47     }
48     int main(){
49         int u,i;
50         n=read();
51         for(i=1;i<n;i++){
52             u=read(); add(u,i+1);
53         }
54         dfs(1,1);
55         cnt=0;
56         while(!q.empty()){
57             DEEP x=q.top();q.pop();
58             if(used[x.node]) continue ;
59             if(fa[fa[x.node]]) dfs1(fa[fa[x.node]],0);
60             else dfs1(1,0);    
61             cnt++;        
62         }
63         printf("%d\n",cnt);
64         return 0;
65     }
66 }
67 int main(){
68     lys::main();
69     return 0;
70 }
71 inline int read(){
72     int kk=0,ff=1;
73     char c=getchar();
74     while(c<???0???||c>???9???){
75         if(c==???-???) ff=-1;
76         c=getchar();
77     }
78     while(c>=???0???&&c<=???9???) kk=kk*10+c-???0???,c=getchar();
79     return kk*ff;
80 }

以上是关于[luogu]P2279 [HNOI2003]??????????????????[??????]的主要内容,如果未能解决你的问题,请参考以下文章

洛谷P2279 [HNOI2003]消防局的设立

P2279 [HNOI2003]消防局的设立

[Luogu P2278] [HNOI2003]操作系统

HNOI2003 激光炸弹

P2280 [HNOI2003]激光炸弹

BZOJ1218:[HNOI2003]激光炸弹