前言
传送门 :
思路一开始考虑是从哪个节点开始跑 , 结果没跑出来
仔细考虑一下,发现从哪个节点开始其实不重要 , 我们其实可以从叶子节点走到根节点
记录一下所走的距离,如果走的距离大于了当前的 k k k,那么 a n s + + ans++ ans++并且重置一下当前节点的 d i s dis dis即可
Mycodeconst int N = 2e4+10;
struct node{
int to,val;
};
vector g[N];
int n,k;
int total[N];
int ans;
int p[N];
int dis[N];
void dfs(int u,int fa){
for(auto x : g[u]){
if(x.to!=fa){
p[x.to] = x.val;
dfs(x.to,u);
dis[u] = max(dis[u],dis[x.to]+x.val);
}
}
if(dis[u]+p[u] >= k){
++ans;
dis[u] = 0 ;
}
}
void solve(){
cin>>n;
int maxn = -1;
for(int i=1;i>x;
for(int j=1;j>a>>b;
g[i].push_back({a,b});
maxn = max(maxn,b);
}
}
cin>>k;
if(maxn >= k ){
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?