#include<bits/stdc++.h>#defineDEBUGfprintf(stderr,"Passing [%s] line %d\n", __FUNCTION__,__LINE__)#defineFile(x)freopen(x".in","r",stdin);freopen(x".out","w",stdout)usingnamespace std;typedeflonglong LL;typedef pair <int,int> PII;typedef pair <int, PII> PIII;inlineintgi(){int f =1, x =0;char c =getchar();while(c <'0'|| c >'9'){if(c =='-') f =-1; c =getchar();}while(c >='0'&& c <='9') x = x *10+ c -'0', c =getchar();return f * x;}inline LL gl(){
LL f =1, x =0;char c =getchar();while(c <'0'|| c >'9'){if(c =='-') f =-1; c =getchar();}while(c >='0'&& c <='9') x = x *10+ c -'0', c =getchar();return f * x;}constint INF =0x3f3f3f3f, N =100003, M = N <<1;int n, m;int tot, head[N], ver[M], nxt[M];int qz[N];int lx[N];inlinevoidadd(int u,int v){
ver[++tot]= v, nxt[tot]= head[u], head[u]= tot;}voiddfs(int u,int f,int now/*当前连续点权为 1 的节点个数*/,bool lst/*当前节点的父亲的点权是不是 1*/,int mxnow/*根到当前节点的路径上点权为 1 的最多节点个数*/){
lx[u]= mxnow;//记录最多的节点个数for(int i = head[u]; i; i = nxt[i]){int v = ver[i];if(v == f)continue;//分情况讨论递归if(qz[v]==1)dfs(v, u, lst ? now +1:1,true,max(mxnow, lst ? now +1:1));elsedfs(v, u,0,false, mxnow);}}bool fl[N];inlinevoiddfss(int u,int f){for(int i = head[u]; i; i = nxt[i]){int v = ver[i];if(v == f)continue;
fl[u]=true;dfss(v, u);}}intmain(){//File("");
n =gi(), m =gi();for(int i =1; i <= n; i+=1) qz[i]=gi();for(int i =1; i < n; i+=1){int u =gi(), v =gi();add(u, v),add(v, u);}dfss(1,0);dfs(1,0, qz[1],(qz[1]==1), qz[1]);int ans =0;for(int i =1; i <= n; i+=1){if(!fl[i]&& lx[i]<= m)++ans;//对符合要求的叶子节点计数}printf("%d\n", ans);return0;}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 本地部署 DeepSeek:小白也能轻松搞定!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 从 Windows Forms 到微服务的经验教训
· 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee
2019-04-05 题解【POJ1160】Post Office