Codeforces_739_B
http://codeforces.com/problemset/problem/739/B
dfs,记录距离前缀和,每次找到离最近的不符合的点。
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std; int n,cnt = ,a[],b[],sta[],ans[] = {};
long long dis[];
vector<int> v[]; void dfs(int x,long long deep)
{
sta[++cnt] = x;
dis[x] = deep;
for(int i = ;i < v[x].size();i++)
{
int t = v[x][i];
dfs(t,dis[x]+b[t]);
ans[x] += ans[t]+;
}
int l = ,r = cnt-;
while(l < r)
{
int mid = (l+r+)/;
if(dis[x]-dis[sta[mid]] > a[x]) l = mid;
else r = mid-;
}
ans[sta[l]]--;
cnt--;
}
int main()
{
scanf("%d",&n);
for(int i = ;i <= n;i++) scanf("%d",&a[i]);
for(int i = ;i <= n;i++)
{
int x,y;
scanf("%d%d",&x,&y);
v[x].push_back(i);
b[i] = y;
}
dfs(,);
for(int i = ;i <= n;i++) printf("%d ",ans[i]);
printf("\n");
return ;
}
Codeforces_739_B的更多相关文章
随机推荐
- 21.pyinstaller相关参数
pyinstaller相关参数 命令 描述 -F, ...
- zookeeper作配置中心(存储支付信息)
zookeeper作配置中心(存储敏感信息) 前提:最近在项目中需要用到支付接口,支付宝或者微信支付,根据官方文档,需要配置一些诸如notify-url或者app-private-key等信息,这些信 ...
- C#反射与特性(五):类型成员操作
目录 1,MemberInfo 1.1 练习-获取类型的成员以及输出信息 1.2 MemberType 枚举 1.3 MemberInfo 获取成员方法并且调用 1.4 获取继承中方法的信息(Decl ...
- 密码 | 对称加密 - AES
一.AES 算法简介 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准,用来替换 ...
- C语言之数组用法总结
一维数组的定义:1.数组的数据类型:每一元素占内存空间的字节数.2.数组的存储类型:内存的动态. 静态存储区或CPU的寄存器.3.一维数组在内存中占用的字节数为:数组长度X sizeof (基类型). ...
- python文档字符串(函数使用说明)
关键字: 函数说明.help()函数 1.效果图: 2.代码: # 文档字符串( doc str) 是 函数使用说明 # 用法: 在函数第一行写一个字符串 def fn(*nums): ''' 函数的 ...
- Vue CLI及其vue.config.js(一)
有时候我们为了快速搭建一个vue的完整系统,经常会用到vue-cli,vue-cli用起来很方便而且命令简单容易上手,但缺点是在构建的时候我感觉有一些慢,因为CLI 服务 (@vue/cli-serv ...
- Manacher 学习
推荐博客 :https://blog.csdn.net/zzkksunboy/article/details/72600679 作用 线性时间解决最长回文子串问题. 思想 Manacher充分利用了回 ...
- 使用RobotFramework的JavaRemoteLibrary
终于被迫使用了Java的远程接口库(为了同时使用Java和python的用例库,且为了在pybot下跑速度能快一些),路途比实际想的要坎坷,记录下来. 远程库的原理在前边一篇文章中记录过: http: ...
- Django项目运行
1.图像界面 2.配置ip和端口 2.命令行 python manage.py runserver ip:端口号 ip:端口号可以不写,为默认 也可以只修改端口号