Untitled
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