zoukankan      html  css  js  c++  java
  • 拜访奶牛

    一开始和别的题一起做,想错了,然后就觉得是树上最大独立集,咦,不对啊,一个点儿子可以选多个,然后就黑白染色,30’,哦,可以跨两个再选

    然后看题解,就是树上DP的方法,加起来就是了,一开始不在状态,我原谅自己了,接下来的140min不能再这样了

     1 #include<iostream>
     2 #include<cstdio>
     3 using namespace std;
     4 const int maxn=5e5+7;
     5 int num,n;
     6 int head[maxn],f[maxn][3];
     7 struct Edge{
     8     int next,to;
     9 }edge[maxn*2];
    10 void add(int from,int to){
    11     edge[++num].next=head[from];
    12     edge[num].to=to;
    13     head[from]=num; 
    14 }
    15 void dfs(int x,int pre){
    16     f[x][1]=1;
    17     if(edge[head[x]].to==pre&&edge[head[x]].next==0) return;
    18     for(int i=head[x];i;i=edge[i].next){
    19         int v=edge[i].to;if(v==pre) continue;
    20         dfs(v,x);
    21         f[x][0]+=max(f[v][1],f[v][0]);
    22         f[x][1]+=f[v][0];
    23     }
    24 }
    25 int main(){
    26     cin>>n;
    27     for(int i=1;i<n;i++){
    28         int u,v;cin>>u>>v;
    29         add(u,v);add(v,u);
    30     }
    31     dfs(1,0);
    32     cout<<max(f[1][1],f[1][0])<<endl;
    33     return 0;
    34 }
  • 相关阅读:
    黑马视频-事务
    黑马视频—循环
    黑马视频-子查询
    黑马视频-索引
    黑马视频-SQL之case
    总结 总结
    设计模式总结
    全局变量 /static全局变量 /局部变量/成员变量/extern 分析
    runtime 内涵篇
    runtime 使用总结
  • 原文地址:https://www.cnblogs.com/lcan/p/9614746.html
Copyright © 2011-2022 走看看