首页 > 其他分享 >AT_arc169_a的题解

AT_arc169_a的题解

时间:2024-03-27 12:33:20浏览次数:34  
标签:arc169 puts int 题解 250010 节点

(一)

由于每次把子节点的权值加到父节点中,深度越深影响越大。

将 \(1\) 号节点视作父节点,不难发现,同一深度的节点对其贡献度相等,都为 \(1\times now\ val\)。

因为 \(10^{100}\) 极大,所以统计每层权值和,从深往浅扫。

(二)

AC 代码。

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,val[250010],dep[250010],sum[250010],mx;
signed main(){
	scanf("%lld",&n);
	for(int i=1;i<=n;i++)scanf("%lld",&val[i]);
	dep[1]=1;
	sum[1]=val[1];
	for(int i=2;i<=n;i++){
		int fa;
		scanf("%lld",&fa);
		dep[i]=dep[fa]+1;
		sum[dep[i]]+=val[i];
		mx=max(mx,dep[i]);
	}
	for(int i=mx;i>=1;i--){
		if(sum[i]<0){
			puts("-");
			return 0;
		}
		if(sum[i]>0){
			puts("+");
			return 0;
		}
	}
	puts("0");
	return 0; 
} 

标签:arc169,puts,int,题解,250010,节点
From: https://www.cnblogs.com/Jh763878/p/18098715

相关文章

  • CF1922B的题解
    (一)因为\(2^{n}+2^{n}=2^{n+1}\)。设取的三个数为\(2^i\),\(2^j\),\(2^k\),\(i\lej\lek\)。因为\(2^i+2^j>2^k\),所以\(j=k\)。(反证法易证)此时\(i\)任意取。注意不要重复取。将答案分为两类计算,\(i=j=k\)和\(i<j=k\)。(二)AC代码。#include<bits/stdc++.h>#define......
  • 20240327每日一题题解
    20240327每日一题题解Problem一些整数可能拥有以下的性质:性质1:是偶数;性质2:大于\(4\)且不大于\(12\)。小A喜欢这两个性质同时成立的整数;Uim喜欢这至少符合其中一种性质的整数;小B喜欢刚好有符合其中一个性质的整数;正妹喜欢不符合这两个性质的整数。现在给出一个......
  • 第三届信大超越杯团体赛题解
    第三届信大超越杯团体赛题解A红红找蓝蓝​​​​题解:宽搜bfs,定义状态{x,y,d,Dir}表示:到(x,y)点拐了d次弯,上一次的方向为Dir与最短路不同的是,我们从一个点出发要把一个方向上的所有点加入队列,因为这个方向上所有点的拐弯数都只是+1,为了维护先搜到的点拐弯数越少,就要把一个方向......
  • 【蓝桥杯选拔赛真题48】C++九进制回文数 第十四届蓝桥杯青少年创意编程大赛 算法思维
    目录C++九进制回文数一、题目要求1、编程实现2、输入输出二、算法分析三、程序编写四、程序说明五、运行结果六、考点分析七、推荐资料C++九进制回文数第十四届蓝桥杯青少年创意编程大赛C++选拔赛真题一、题目要求1、编程实现提示信息:回文数:反向排列与原......
  • [题解]P5858 Golden Sword
    P5858「SWTR-3」GoldenSword第一道自己想出递推公式并且成功\(AC\)的\(dp\)绿题。题意简述有\(n\)种原料,每个原料有一个耐久度\(a[i]\),必须按照\(1,2,…,n\)的顺序放入炼金锅。但是炼金锅的容量是有限的,只有\(w\),所以在每次放入原料之前,都可以选择取出\(0\sims\)个原料再放......
  • 启动应用程序出现dmrc.dll找不到问题解决
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个dmrc.dll文件(挑选合适的版本文件)把它放入......
  • 启动应用程序出现dmusic.dll找不到问题解决
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个dmusic.dll文件(挑选合适的版本文件)把它放......
  • 启动应用程序出现dot3hc.dll找不到问题解决
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个dot3hc.dll文件(挑选合适的版本文件)把它放......
  • 2024年3月26号题解
    EightII解题思路使用IDA*算法进行搜索,同时遍历所有高度中最小的,再保存dfs中的路径就可以了代码实现#include<sstream>#include<iostream>#include<algorithm>#include<cstring>#include<unordered_map>#include<queue>#include<set>usingnamespacestd;......
  • 联合省选 2024 题解
    魔法手杖考虑判定答案是否可以大于等于\(t\)。观察\(a_i\oplusx<t\)的情况,可以发现满足要求的\(x\)分为若干段:最高\(u\)位为\(a_i\oplust\)的最高\(u\)位;接下来这一位\(t\)为\(1\),且\(x\)取值为\(a_i\)这一位的取值;更低的位随意。这事实上相当于:我们往0......