码迷,mamicode.com
首页 > 其他好文 > 详细

LG2996 「USACO10NOV」Visiting Cows

时间:2019-11-10 22:58:41      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:tps   class   描述   ace   template   else   max   ++   amp   

问题描述

LG2996


题解

和没有上司的舞会双倍经验?


\(\mathrm{Code}\)

#include<bits/stdc++.h>
using namespace std;

template <typename Tp>
void read(Tp &x){
    x=0;char ch=1;int fh;
    while(ch!='-'&&(ch<'0'||ch>'9')) ch=getchar();
    if(ch=='-'){fh=-1;ch=getchar(); }
    else fh=1;
    while(ch>='0'&&ch<='9') x=(x<<1)+(x<<3)+ch-'0',ch=getchar();
    x*=fh;
}

const int maxn=50007;
int n;
int Head[maxn],to[maxn<<1],Next[maxn<<1],tot;

void add(int x,int y){
    to[++tot]=y,Next[tot]=Head[x],Head[x]=tot;
}

int opt[maxn][2];

void dp(int x,int f){
    opt[x][0]=0,opt[x][1]=1;
    for(int i=Head[x];i;i=Next[i]){
        int y=to[i];
        if(y==f) continue;
        dp(y,x);
        opt[x][0]+=max(opt[y][1],opt[y][0]);
        opt[x][1]+=opt[y][0];
    }
}

int main(){
    read(n);
    for(int i=1,x,y;i<n;i++){
        read(x);read(y);
        add(x,y);add(y,x);
    }
    dp(1,0);
    printf("%d\n",max(opt[1][0],opt[1][1]));
    return 0;
}

LG2996 「USACO10NOV」Visiting Cows

标签:tps   class   描述   ace   template   else   max   ++   amp   

原文地址:https://www.cnblogs.com/liubainian/p/11832031.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!