Untitled

 avatar
unknown
plain_text
a year ago
3.8 kB
7
Indexable
/*
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣶⣶⣾⣿⣿⣿⣿⣿⣶⣶⣦⣤⣀⠀⡰⠒⢲⠲⣄⡖⠒⢦⠤⡀⠀⠀⠀
⠀⠀⠀⠀⣀⣀⣀⠀⢀⣀⢀⣠⣴⣿⣟⣋⠿⠟⠛⠓⠒⠛⠻⢯⣉⢻⣿⣿⣿⣿⡟⠀⢀⡎⠀⡜⢧⠀⠈⡆⠘⡦⡀⠀
⠀⠀⣠⠊⠀⣸⠋⣹⠃⣨⣿⣽⣟⣩⣵⣶⣾⣿⠿⢿⣿⣶⣶⣤⡈⠛⢿⡟⠻⣿⡇⠀⢸⠀⢰⠁⠸⡆⠀⢱⠀⢱⢹⡀
⠀⣰⠁⠀⡴⠁⣰⣧⡾⢋⣵⣾⠋⠉⠙⠛⠋⠁⣤⣴⣿⣿⣿⣿⣿⣦⠀⠙⢶⣿⡁⠀⢸⠀⢸⣧⠀⡇⠀⢸⠀⢸⠀⡇
⢠⠇⢀⡜⠀⣰⣿⡟⢠⣿⣿⣟⣫⣵⣶⣶⣶⣶⣶⣽⣿⣿⣿⣿⣿⣿⣧⠀⠈⣧⡇⠀⠘⡄⠸⣿⣇⡇⠀⢸⠀⢸⠀⡇
⢸⠀⣼⣇⣼⣿⣿⢠⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢂⣠⡿⢿⡆⠀⠈⠀⠹⠿⠃⠀⡆⠀⡎⠀⡇
⢸⡀⢿⣿⣿⣿⢿⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣷⣾⣿⣦⣄⠀⠀⠀⠀⠘⢀⡜⠀⣰⠃
⠀⢧⠀⢻⡟⣷⣿⣿⣿⣿⣿⣿⡿⠟⠉⠉⠉⠉⡛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣤⣿⣿⣿⣿⠿⠀⠀⠀⢀⣠⡈⣠⡶⠃⠀
⠀⠀⠣⣀⣹⣿⣿⣿⣿⣿⡿⣋⠀⠀⢀⡼⠀⠀⠛⠺⠿⣟⣟⣿⣿⠋⠉⠹⣿⣿⣿⣏⣿⣓⣁⣴⣾⠿⠿⠟⠋⠀⠀⠀
⠀⠀⢰⡀⠙⠻⣿⣿⣿⣿⠀⢠⣽⣶⣏⠀⠀⠀⠀⠀⠀⠀⣽⣿⣾⣝⡆⠀⢿⣿⣿⡀⠉⠙⠻⣿⡟⠀⠀⠀⠀⠀⠀⠀
⠀⢀⡸⢳⣀⡖⠉⣿⣿⣿⠀⡿⣿⣿⣿⢰⣾⡶⠀⠀⠀⠀⢻⣻⣿⣋⣇⡀⢸⣿⣿⣿⣷⣴⣴⡟⠀⠀⠀⠀⠀⠀⠀⠀
⠉⠛⢳⡔⠉⠙⠛⠻⣿⣿⡄⠾⠟⠛⠁⣄⣹⣀⣠⠔⠂⠀⠀⠀⠈⠉⠉⠁⣸⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠸⠇⠀⠀⠀⠀⠈⢻⣧⠀⠀⠀⠀⢀⢻⣰⢃⠀⠀⠀⠀⠀⠀⢀⣀⣴⣿⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⡷⠦⢦⣤⠿⠿⣥⣄⣴⣤⠴⠶⠾⠛⠋⠉⢻⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⠀⠀⢾⣿⣤⣤⣽⣿⡿⡉⢦⡀⠀⠀⠀⣶⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⠀⠀⠀⣼⣿⡇⢿⣿⣋⣽⠀⠙⣄⠀⠀⠛⠉⠋⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⡏⠀⠀⣼⣛⣻⠿⣶⣿⣿⡋⠀⠀⠈⢧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⡟⣶⣿⣿⣁⡀⣀⣠⣀⣬⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡟⣿⣷⠞⣛⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡼⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢧⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣶⣻⣿⣿⣿⢟⣿⠟⢛⢹⣧⢿⢺⡇⠀⠀⠀
*/
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define all(v) v.begin(),v.end()
const ll inf=1e18;
const int N=1000000007;
const int M=200001;
// 人的梦想是没有尽头的,不是吗?-
vector<ll>v[M];
ll val[M];
void dfs(ll p){
    if(v[p].size()==0){
        return;
    }
    ll a=inf;
    for(auto x:v[p]){
        dfs(x);
        a=min(a,val[x]);
    }
    if(a<=val[p]){
        val[p]=a;
    }else{
        val[p]+=(a-val[p])/2;
    }
    return;
}
void code(){
    ll n;
    cin >> n;
    for(ll i=1;i<=n;i++){
        v[i].clear();
    }
    for(ll i=1;i<=n;i++){
        cin >> val[i];
    }
    for(ll i=0;i<n-1;i++){
        ll x;
        cin >> x;
        v[x].push_back(i+2);
    }
    dfs(1);
    for(ll i=1;i<=n;i++){
        cout << val[i] << " ";
    }
    // cout << val[1] << '\n';
}
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int tc=1;
    cin >> tc;
    for(int i=1;i<=tc;i++){
        // cout << "Case " << i << ": ";
        code();
    }
    return 0;
}


Editor is loading...
Leave a Comment