说句实话,这道题作为蓝题过于简单了一点

#include<iostream>
#include<utility>
#include<vector>
using namespace std;
typedef long long ll;
#define fi(i,a,b) for(int i = a; i <= b; ++i)
#define fr(i,a,b) for(int i = a; i >= b; --i)
#define x first
#define y second
#define sz(x) ((int)(x).size())
#define pb push_back
using pii = pair<int,int>;
//#define DEBUG
const int N = 1e5 + 5;
int n,m;
vector<int> vec[N];
int w[N];
bool vis[N];
int ans;
void dfs(int x,int y){
vis[x] = true;
if(y > m) return;
if(sz(vec[x]) == 1 && x != 1) {ans++;return;}
fi(i,0,sz(vec[x]) - 1){
if(vis[vec[x][i]]) continue;
if(w[vec[x][i]]) dfs(vec[x][i],y+1);
else dfs(vec[x][i],0);
}
vis[x] = false;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n >> m;
fi(i,1,n) cin >> w[i];
fi(i,1,n-1) {
int a,b;
cin >> a >> b;
vec[a].pb(b);
vec[b].pb(a);
}
dfs(1,w[1]);
cout << ans << endl;
#ifdef DEBUG
//freopen(D:\in.txt,r,stdin);
#endif
return 0;
}

CF580C的更多相关文章

  1. 【CF580C】Kefa and Park

    题目大意:给定一棵 N 个节点的有根树(其中根节点始终为 1 号节点),点有点权,点权只有 1 和 0 两种,求从根节点到叶子节点的路径中,有多少条路径满足:路径上最大连续点权为 1 的节点个数不超过 ...

  2. CF580C Kefa and Park dfs

    Kefa decided to celebrate his first big salary by going to the restaurant. He lives by an unusual pa ...

  3. [CF580C]Shortest Cycle(图论,最小环)

    Description: 给 \(n\) 个点的图,点有点权 \(a_i\) ,两点之间有边当且仅当 \(a_i\ \text{and}\ a_j \not= 0\),边权为1,求最小环. Solut ...

  4. CF 15/09/23

    CF580A 给出一个数列,求最长不下降子序列(连续) 直接DP,O(n) CF580B 主人公有n个朋友,每一个朋友有2个属性:m,sat 现在他想邀请部分朋友,邀请的人满足MAX_M-MIN_M& ...

随机推荐

  1. mysql如何优雅的备份数据

    MySQL 有多种备份方式,以下是几种常用的备份方式: 使用 mysqldump 命令备份数据 mysqldump 是 MySQL 自带的备份工具,可以备份指定数据库或表的数据为 SQL 文件.可以通 ...

  2. 🔥 Java Solon v2.7.6 发布

    Java Solon 是什么框架? Java "新的"应用开发框架.开放原子开源基金会,孵化项目.从零开始构建(非 java-ee 架构),有灵活的接口规范与开放生态. 追求: 更 ...

  3. ASP.NET Core如何禁用模型验证(或者从模型状态中移除某些属性)?

    这是一篇4年前的文章:[经验分享]在ASP.NET Core中,如果禁用某个请求的模型验证? 事隔多年,又有网友问到这个问题.我就来重新整理一下,顺便扩展一下之前的解决办法. ===== 这是一个来自 ...

  4. redis 使用lua脚本 一次性获取多个hash key 字段值

    客户端命令行代码: eval "local rst={};local field='schoolid'; for i,v in pairs(KEYS) do rst[i]=redis.cal ...

  5. Swift 模式下面LLDB 输出对象

    (lldb) expr -l Swift -- import UIKit (lldb) expr -l Swift -- let $pin = unsafeBitCast(0x7f81c8d459f0 ...

  6. Mp4V2与ffmpeg静态库符号冲突问题解决

    一.为什么静态符号会冲突 无论macho二进制类型,还是Windows上的PE格式,还是Linux上的ELF格式,里面都是按照特定格式存放的一个程序的代码和数据 比如Linux下的可执行文件格式,大致 ...

  7. 8个实用的Java Streams API

    分享8个开箱即用的API,方便日常处理集合. 1. 快速过滤空值:Stream.ofNullable 该方法是在 Java 9 中引入的,有助于过滤集合中的所有空值,从而可能使我们避免空指针异常. 在 ...

  8. c# webApi返回Excel数据流 || 使用Excel数据流的方式下载Excel

    背景: 在前端无法生成特殊的excel表格,或操作复杂的时候会通过后台进行生成excel.但是服务器的资源也非常宝贵,所以通过数据流的方式就可以实现:不在服务器存储的情况下,使前端成功下载excel文 ...

  9. kali linux主题美化

    Kali 主题美化 先放张安装了主题的图片: 执行下面命令下载主题文件: git clone https://github.com/daniruiz/flat-remix-gtk.git git cl ...

  10. ABC346

    D 枚举是哪一位相同,情况为 \(00\) 还是 \(11\),然后用前缀和和后缀和求一下即可. \(pre_{j,i}\) 表示第一位为 \(j\),前 \(i\) 位的每两个相同的字符均不相同的情 ...