题面:https://www.luogu.org/problemnew/show/P3047

Code:
# include <bits/stdc++.h>
using namespace std;
const int root=1,MAXN=100001;
struct rec{int pre,to;
}a[2*MAXN];
int head[MAXN],f[MAXN][21],w,n,tot=0,c[MAXN];
bool vis[MAXN];
void adde(int u,int v)
{a[++tot].pre=head[u];a[tot].to=v;head[u]=tot;
}
void dfs1(int u)
{vis[u]=true;for (int i=head[u];i!=0;i=a[i].pre){int v=a[i].to; if (vis[v]) continue;dfs1(v);for (int j=1;j<=w;j++) f[u][j]+=f[v][j-1];}
}
void dfs2(int u)
{vis[u]=true;for (int i=head[u];i!=0;i=a[i].pre){int v=a[i].to;if (vis[v]) continue;for (int j=w;j>=2;j--) f[v][j]-=f[v][j-2];for (int j=1;j<=w;j++) f[v][j]+=f[u][j-1];dfs2(v);}
}
int main()
{scanf("%d%d",&n,&w);int u,v;for (int i=1;i<=n-1;i++) {scanf("%d%d",&u,&v);adde(u,v); adde(v,u);}memset(f,0,sizeof(f));for (int i=1;i<=n;i++) {scanf("%d",&c[i]);f[i][0]=c[i];}memset(vis,false,sizeof(vis));dfs1(root);memset(vis,false,sizeof(vis));dfs2(root);for (int i=1;i<=n;i++) {int ans=0;for(int j=0;j<=w;j++) ans+=f[i][j];printf("%d\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/ukcxrtjr/p/11237643.html

P3047 附近的牛相关推荐

  1. 洛谷P3047 附近的牛 树形dp

    给出一个 n ≤ 1 e 5 n\leq1e5 n≤1e5的树,每个点都有一个点权,求所有的点距离 k k k以内的所有的点的点权和. 不错的题.先简单想:如果是要求这个点向下所有距离 k k k以内 ...

  2. P3047 [USACO12FEB]附近的牛Nearby Cows

    题目描述 Farmer John has noticed that his cows often move between nearby fields. Taking this into accoun ...

  3. [C++] 牛客网:合并两个有序的数组

    主要是体验一下牛客网里的核心代码模式到底是怎么弄的..还有C++这个东西平常用的太少了,试一试. 以外的还体验到了sort()函数的使用. 来源:牛客网 题目链接:合并两个有序的数组 知识点:数组.双 ...

  4. VLOG丨树莓派Raspberry Pi 3安装PLEX并挂载USB硬盘打造最牛的微型家庭影音服务器2018...

    视频介绍 树莓派3安装目前最流行的PLEX服务器,实现既能最大限度降低功耗,也能随时随地观看分享影片. 一.在树莓派下安装PLEX媒体服务器 1.在终端,将你的树莓派更新至最新 sudo apt up ...

  5. 牛客~~打篮球~~~模拟水题

    链接:https://www.nowcoder.com/acm/contest/118/D 来源:牛客网 题目描述 1, 2, 3在打篮球, 可是二打一总是不公平的, 于是他们决定一对一,另一个人在边 ...

  6. Serializable 都这么牛逼了,Parcelable 还要你何用?

    一些闲聊 距离上一篇文章似乎又是很久了,看起来也没有很多反馈,催更就更不用说了.哈哈,放弃了. 话说最近公司在招聘一批至少 5 年开发经验的 Android 开发工程师,我也是忙开了花,激动得不行呀. ...

  7. 表格下划线怎么加粗_这招高!Excel签名栏的下划线随列宽变化,是不是感觉牛哄哄的?...

    职场牛人的世界总有各种高招,随手蹦出,令人赞叹不已! 今天早上去填一个表格,在输入签名时,突然发现签名处的下划线是随着列宽的变化而自动变化,这绝对是动态的,这是怎么做到的呢? 我特意看了一下这个单元格 ...

  8. usaco Cow Tours 牛的旅行

    Cow Tours 牛的旅行 农民 John 的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场. 但是就目前而言,你能看到至少有两个牧区不连通.这样,农民 John 就有 ...

  9. usaco The Tamworth Two 两只塔姆沃斯牛

    两只牛在森林里故意走丢了.农民 John 开始用他的专家技术追捕这两头牛.你的任务是模拟他们的 行为(牛和 John). 追击在 10x10 的平面网格内进行.一个格子可以是: 一个障碍物, 两头牛( ...

最新文章

  1. iOS - UIStoryboard
  2. gcc离线安装 ubuntu 不用编译_Ubuntu快速搭建C++开发环境(VS Code编辑器)
  3. python之异常处理
  4. 专注jQurey的博客【2012年度IT博客大赛分类推荐】
  5. ubuntu安装samba
  6. python表单管理系统_python3开发进阶-Django框架的Form表单系统和基本操作
  7. vue二级路由跳转后外部引入js失效问题解决方案
  8. 分享30个网页设计色彩搭配的优秀案例
  9. MySQL5.7安装教程(windows .zip)
  10. 汇编语言王爽---第四版
  11. 开心斗服务器维修要多久,大危机 《开心OL》史上最惨服务器开启?
  12. 专业词汇扫盲:MRR(Mean reciprocal rank) ,long-tail,link prediction
  13. 麦德龙的商品供应链管理
  14. CDR插件开发之Addon插件008 - 在VS中下载安装Addons插件模板并基于模板创建Addon插件工程
  15. python豆瓣电影爬虫
  16. Java中IO流体系
  17. 【转】用IDCNN和CRF做端到端的中文实体识别
  18. ECharts的讲解
  19. 由FREENOS看去
  20. 凌动上网本改装linux,Ubuntu Netbook Remix 专为上网本打造的linux系统--梦飞翔的地方(梦翔天空)...

热门文章

  1. Nginx+uWSGI+Django方法部署Django程序
  2. 秒懂!七大理由:为什么使用MySQL的NoSQL?(蚂蚁金服架构师告诉我的)
  3. [空间分析] DEM提取山脊线与山谷线
  4. 移动互联网助力金融创新
  5. 75岁彪马再发NFT 复活美洲狮IP
  6. 苹果关闭自动更新_如果你是苹果手机,关闭这3个按钮,让旧iPhone还能多用几年...
  7. 登录+上传头像+瀑布流 (OKhttp+recycleview)
  8. 如何提升GPU利用率 在使用fit_generator时
  9. 【编程游戏】贺岁霓虹灯。(参观306楼danica7773的霓虹灯)
  10. 携程千人规模团队研发效能提升实践