zoukankan      html  css  js  c++  java
  • 树形DP POJ1463

     1 #include <iostream>
     2 #include <cstring>
     3 #include <cstdio>
     4 
     5 using namespace std;
     6 
     7 int dp[1510][2];
     8 int head[1510];
     9 bool in[1510];
    10 int num;
    11 
    12 struct edge
    13 {
    14     int fro,to,next;
    15 }e[15010];
    16 
    17 void addEdge(int _fro,int _to)
    18 {
    19     e[num].fro=_fro;
    20     e[num].to=_to;
    21     e[num].next=head[_fro];
    22     head[_fro]=num;
    23     num++;
    24 }
    25 
    26 int dfs(int x)
    27 {
    28     if(dp[x][0]!=-1&&dp[x][1]!=-1)
    29         return min(dp[x][0],dp[x][1]);
    30     dp[x][0]=0;
    31     dp[x][1]=1;
    32     for(int i=head[x];i!=-1;i=e[i].next)
    33     {
    34         int v=e[i].to;
    35         dfs(v);
    36         dp[e[i].fro][1]=min(dp[v][0],dp[v][1])+dp[e[i].fro][1];
    37         dp[e[i].fro][0]+=dp[v][1];
    38     }
    39     return min(dp[x][0],dp[x][1]);
    40 }
    41 
    42 int main()
    43 {
    44     int n,m;
    45     while(scanf("%d",&n)!=EOF)
    46     {
    47         int a,b;
    48         num=0;
    49         memset(dp,-1,sizeof(dp));
    50         memset(in,true,sizeof(in));
    51         memset(head,-1,sizeof(head));
    52         for(int i=0;i<n;i++)
    53         {
    54             scanf("%d:(%d)",&a,&m);
    55             for(int t=0;t<m;t++)
    56             {
    57                 scanf("%d",&b);
    58                 addEdge(a,b);
    59                 in[b]=false;
    60             }
    61         }
    62         int ans;
    63         for(int i=0;i<n;i++)
    64         {
    65             if(in[i])
    66             {
    67                 ans=dfs(i);
    68             }
    69         }
    70         cout<<ans<<endl;
    71     }
    72     return 0;
    73 }
    View Code
  • 相关阅读:
    各种模板
    HNOI2019总结
    WC2019游记
    THUSC2017 Day1题解
    NOIP2018联赛总结
    LOJ2557. 「CTSC2018」组合数问题
    NOI2018游记
    bzoj4671: 异或图
    sg函数小结
    [NOI2011]Noi嘉年华
  • 原文地址:https://www.cnblogs.com/wsruning/p/4770731.html
Copyright © 2011-2022 走看看