#include<bits/stdc++.h>
#define setIO(s) freopen(s".in","r",stdin)
#define maxn 10004
#define inf 10000003
using namespace std;
int edges,n,Q,sn,root,tl;
bool is[inf];
int hd[maxn],to[maxn<<1],nex[maxn<<1],val[maxn<<1];
int answer[maxn], que[200], vis[maxn], f[maxn], siz[maxn], dep[maxn], mine[inf], dis1[maxn];
inline void add(int u,int v,int c)
{
nex[++edges]=hd[u],hd[u]=edges,to[edges]=v,val[edges]=c;
}
void Getroot(int u,int fa)
{
f[u]=0, siz[u]=1;
for(int i=hd[u];i;i=nex[i])
{
int v=to[i];
if(vis[v]||v==fa) continue;
Getroot(v,u), siz[u]+=siz[v];
f[u]=max(f[u], siz[v]);
}
f[u]=max(f[u], sn-siz[u]);
if(f[u]<f[root]) root=u;
}
inline void getdis(int u,int fa,int d)
{
dis1[++tl] = d;
for(int i=hd[u];i;i=nex[i])
{
int v=to[i];
if(v==fa||vis[v]) continue;
getdis(v, u, d + val[i]);
}
}
inline void calc(int u)
{
tl=0;
mine[0]=1;
for(int i=hd[u];i;i=nex[i])
{
int v=to[i];
if(vis[v]) continue;
int pdl=tl;
getdis(v, u, val[i]);
for(int j=pdl+1;j<=tl;++j)
for(int o=1;o<=Q;++o)
{
if(que[o]>=inf||que[o] < dis1[j]) continue;
is[que[o]]|=mine[que[o]-dis1[j]];
}
for(int j=pdl+1;j<=tl;++j) mine[dis1[j]]=1;
}
for(int i=1;i<=tl;++i) mine[dis1[i]]=0;
}
void solve(int u)
{
int i,v;
vis[u]=1;
calc(u);
for(i=hd[u];i;i=nex[i])
{
v=to[i];
if(vis[v]) continue;
root=0,sn=siz[v],Getroot(v, u);
solve(root);
}
}
int main()
{
int i,j;
// setIO("input");
scanf("%d%d",&n,&Q);
for(i=1;i<n;++i)
{
int u,v,c;
scanf("%d%d%d",&u,&v,&c);
add(u,v,c), add(v,u,c);
}
for(i=1;i<=Q;++i) scanf("%d",&que[i]);
sn=n,f[0]=maxn,Getroot(1,0),solve(root);
for(i=1;i<=Q;++i) if(is[que[i]]) puts("AYE"); else puts("NAY");
return 0;
}

  

最新文章

  1. 解决FTP的URL访问不能有中文名称的问题,报java.lang.IllegalArgumentException
  2. Renci.SshNet在Linux运维的应用
  3. 【读书笔记】Programming Entity Framework CodeFirst -- 初步认识
  4. js 获取控制台的错误信息
  5. WPF学习05:2D绘图 使用Transform进行控件变形
  6. Delphi word 颜色
  7. You Need This One Skill to Succeed in IT--reference
  8. Winbind authentication against active directory
  9. OAuth2.0认证介绍
  10. myeclipse 那个版本号好用?
  11. i++是否原子操作?并解释为什么?
  12. LeetCode 709.To Lower Case
  13. github上用golang写的项目
  14. HTTP请求行、请求头、请求体详解(转)
  15. Cron 表达式详解(已整理、很清晰)
  16. 【慕课网实战】Spark Streaming实时流处理项目实战笔记五之铭文升级版
  17. appium 遇到的坑
  18. 开源的PaaS方案:在OpenStack上部署CloudFoundry (一)简介
  19. Linux(CentOS7)下发送邮件(使用Gmail作为发件服务器)
  20. Hadoop之MapReduce(二)序列化,排序及分区

热门文章

  1. 三种方式创建bean对象在springIOC容器中初始化、销毁阶段要调用的自定义方法
  2. 百度人脸识别python调用例子
  3. python-backports.ssl-match-hostname 安装问题
  4. ELK 学习
  5. docker--docker介绍
  6. c++中关于类的长度的猜想
  7. WPF使用Mutex创建单实例程序失效
  8. [Python3 练习] 005 汉诺塔1 递归解法
  9. JEECG 深度使用培训班 周六周日公开课(一期班)
  10. 原生JS代码实现随机产生一个16进制的颜色值