http://codeforces.com/problemset/problem/739/B

dfs,记录距离前缀和,每次找到离最近的不符合的点。

  1. #include<iostream>
  2. #include<cstring>
  3. #include<cstdio>
  4. #include<algorithm>
  5. #include<vector>
  6. using namespace std;
  7.  
  8. int n,cnt = ,a[],b[],sta[],ans[] = {};
  9. long long dis[];
  10. vector<int> v[];
  11.  
  12. void dfs(int x,long long deep)
  13. {
  14. sta[++cnt] = x;
  15. dis[x] = deep;
  16. for(int i = ;i < v[x].size();i++)
  17. {
  18. int t = v[x][i];
  19. dfs(t,dis[x]+b[t]);
  20. ans[x] += ans[t]+;
  21. }
  22. int l = ,r = cnt-;
  23. while(l < r)
  24. {
  25. int mid = (l+r+)/;
  26. if(dis[x]-dis[sta[mid]] > a[x]) l = mid;
  27. else r = mid-;
  28. }
  29. ans[sta[l]]--;
  30. cnt--;
  31. }
  32. int main()
  33. {
  34. scanf("%d",&n);
  35. for(int i = ;i <= n;i++) scanf("%d",&a[i]);
  36. for(int i = ;i <= n;i++)
  37. {
  38. int x,y;
  39. scanf("%d%d",&x,&y);
  40. v[x].push_back(i);
  41. b[i] = y;
  42. }
  43. dfs(,);
  44. for(int i = ;i <= n;i++) printf("%d ",ans[i]);
  45. printf("\n");
  46. return ;
  47. }

Codeforces_739_B的更多相关文章

随机推荐

  1. 1051 复数乘法 (15 分)C语言

    复数可以写成 (A+Bi) 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 i^​2=−1:也可以写成极坐标下的指数形式 (R×e​(Pi)​ ),其中 R 是复数模,P 是辐角,i ...

  2. 微信小程序开发笔记(一)

    一.为什么要学习微信小程序开发 微信小程序是一个可以在微信上打开的轻应用,他是由多个页面组成的程序,跟传统APP比较如下: 优点 1.不需要在应用商店下载,不占用内存空间,即开即用 2.可以在微信内直 ...

  3. Yolo V3整体思路流程详解!

    结合开源项目tensorflow-yolov3(https://link.zhihu.com/?target=https%3A//github.com/YunYang1994/tensorflow-y ...

  4. 小白学 Python 爬虫(42):春节去哪里玩(系列终篇)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  5. springboot集成restdocs输出接口文档

    1.pom文件新增restdocs <dependency>    <groupId>org.springframework.restdocs</groupId> ...

  6. 关于neo4j初入门(1)

    图形数据库也称为图形数据库管理系统或GDBMS. Neo4j的官方网站:http://www.neo4j.org Neo4j的优点 它很容易表示连接的数据 检索/遍历/导航更多的连接数据是非常容易和快 ...

  7. 关于爬虫的日常复习(13)—— 爬虫requests的初级高级的基本用法

  8. 内置3D对象-Unity3D游戏开发培训

    内置3D对象-Unity3D游戏开发培训 作者:Jesai 2018-02-12 19:21:58 五大面板: -Hierachy:当前场景中的物体 图 1-1 -Project:项目中的所有资源 图 ...

  9. 【WPF on .NET Core 3.0】 Stylet演示项目 - 简易图书管理系统(4) - 图书列表界面

    在前三章中我们完成了登录窗口, 并掌握了使用Conductor来切换窗口, 但这些其实都是在为我们的系统打基础. 而本章中我们就要开始开发系统的核心功能, 即图书管理功能了. 通过本章, 我们会接触到 ...

  10. [bzoj1045] [洛谷P2512] [HAOI2008] 糖果传递

    Description 有n个小朋友坐成一圈,每人有ai个糖果.每人只能给左右两人传递糖果.每人每次传递一个糖果代价为1. Input 第一行一个正整数nn<=1'000'000,表示小朋友的个 ...