提出 #47124385
ソースコード 拡げる
// LUOGU_RID: 132719462
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int n,tot=0;
int fa[300005];
int sz[300005];
int pre[300005];
ll suma[300005],sumb[300005],ans;
struct zz{
ll vx,vy;int id,tim;
bool operator<(const zz &a)const{return vx*a.vy<vy*a.vx;}
zz(){};
zz(ll Vx,ll Vy,int Id,int Tim){
vx=Vx;vy=Vy;id=Id;tim=Tim;
}
};
priority_queue<zz> q;
int Find(int x){
if(pre[x]!=x) pre[x]=Find(pre[x]);
return pre[x];
}
int main(){
// freopen("data.in","r",stdin);
// freopen("data.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++) pre[i]=i,sz[i]=1;
for(int i=2;i<=n;i++) scanf("%d",&fa[i]);
for(int i=1,op;i<=n;i++){
scanf("%d",&op);
if(op) suma[i]=0,sumb[i]=1;
else sumb[i]=0,suma[i]=1;
if(i!=1) q.push((zz){suma[i],sumb[i],i,1});
}
while(q.size()){
zz now=q.top();q.pop();
if(now.tim!=sz[now.id]) continue;
int fx=Find(fa[now.id]),fy=Find(now.id);
ans+=sumb[fx]*suma[fy];sumb[fx]+=sumb[fy];suma[fx]+=suma[fy];pre[fy]=fx;sz[fx]+=sz[fy];if(fx!=1) q.push((zz){suma[fx],sumb[fx],fx,sz[fx]});
tot++;
}
cout<<ans<<endl;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - 01 on Tree |
| ユーザ | cqbz_xiaofang |
| 言語 | C++ 17 (gcc 12.2) |
| 得点 | 1700 |
| コード長 | 1093 Byte |
| 結果 | AC |
| 実行時間 | 82 ms |
| メモリ | 14108 KiB |
コンパイルエラー
Main.cpp: In function ‘int main()’:
Main.cpp:30:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
30 | scanf("%d",&n);
| ~~~~~^~~~~~~~~
Main.cpp:32:36: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
32 | for(int i=2;i<=n;i++) scanf("%d",&fa[i]);
| ~~~~~^~~~~~~~~~~~~
Main.cpp:34:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
34 | scanf("%d",&op);
| ~~~~~^~~~~~~~~~
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 1700 / 1700 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt, subtask_1_43.txt, subtask_1_44.txt, subtask_1_45.txt, subtask_1_46.txt, subtask_1_47.txt, subtask_1_48.txt, subtask_1_49.txt, subtask_1_50.txt, subtask_1_51.txt, subtask_1_52.txt, subtask_1_53.txt, subtask_1_54.txt, subtask_1_55.txt, subtask_1_56.txt, subtask_1_57.txt, subtask_1_58.txt, subtask_1_59.txt, subtask_1_60.txt, subtask_1_61.txt, subtask_1_62.txt, subtask_1_63.txt, subtask_1_64.txt, subtask_1_65.txt, subtask_1_66.txt, subtask_1_67.txt, subtask_1_68.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| sample_01.txt | AC | 1 ms | 3744 KiB |
| sample_02.txt | AC | 1 ms | 3672 KiB |
| sample_03.txt | AC | 1 ms | 3660 KiB |
| subtask_1_01.txt | AC | 1 ms | 3576 KiB |
| subtask_1_02.txt | AC | 61 ms | 13752 KiB |
| subtask_1_03.txt | AC | 33 ms | 8716 KiB |
| subtask_1_04.txt | AC | 69 ms | 13956 KiB |
| subtask_1_05.txt | AC | 71 ms | 13864 KiB |
| subtask_1_06.txt | AC | 13 ms | 5912 KiB |
| subtask_1_07.txt | AC | 49 ms | 13264 KiB |
| subtask_1_08.txt | AC | 24 ms | 8428 KiB |
| subtask_1_09.txt | AC | 50 ms | 13252 KiB |
| subtask_1_10.txt | AC | 17 ms | 6240 KiB |
| subtask_1_11.txt | AC | 7 ms | 4652 KiB |
| subtask_1_12.txt | AC | 37 ms | 8956 KiB |
| subtask_1_13.txt | AC | 30 ms | 8424 KiB |
| subtask_1_14.txt | AC | 35 ms | 8668 KiB |
| subtask_1_15.txt | AC | 8 ms | 4712 KiB |
| subtask_1_16.txt | AC | 17 ms | 6608 KiB |
| subtask_1_17.txt | AC | 14 ms | 6008 KiB |
| subtask_1_18.txt | AC | 42 ms | 8952 KiB |
| subtask_1_19.txt | AC | 10 ms | 5072 KiB |
| subtask_1_20.txt | AC | 36 ms | 9096 KiB |
| subtask_1_21.txt | AC | 13 ms | 5940 KiB |
| subtask_1_22.txt | AC | 53 ms | 13244 KiB |
| subtask_1_23.txt | AC | 44 ms | 9332 KiB |
| subtask_1_24.txt | AC | 39 ms | 9328 KiB |
| subtask_1_25.txt | AC | 24 ms | 8320 KiB |
| subtask_1_26.txt | AC | 48 ms | 9704 KiB |
| subtask_1_27.txt | AC | 53 ms | 13328 KiB |
| subtask_1_28.txt | AC | 33 ms | 8508 KiB |
| subtask_1_29.txt | AC | 57 ms | 13552 KiB |
| subtask_1_30.txt | AC | 61 ms | 13984 KiB |
| subtask_1_31.txt | AC | 61 ms | 14096 KiB |
| subtask_1_32.txt | AC | 66 ms | 14020 KiB |
| subtask_1_33.txt | AC | 67 ms | 13992 KiB |
| subtask_1_34.txt | AC | 69 ms | 14104 KiB |
| subtask_1_35.txt | AC | 70 ms | 14104 KiB |
| subtask_1_36.txt | AC | 73 ms | 13940 KiB |
| subtask_1_37.txt | AC | 72 ms | 14028 KiB |
| subtask_1_38.txt | AC | 69 ms | 13944 KiB |
| subtask_1_39.txt | AC | 50 ms | 13976 KiB |
| subtask_1_40.txt | AC | 41 ms | 13944 KiB |
| subtask_1_41.txt | AC | 72 ms | 14016 KiB |
| subtask_1_42.txt | AC | 68 ms | 13944 KiB |
| subtask_1_43.txt | AC | 69 ms | 13948 KiB |
| subtask_1_44.txt | AC | 69 ms | 13944 KiB |
| subtask_1_45.txt | AC | 74 ms | 14024 KiB |
| subtask_1_46.txt | AC | 74 ms | 13980 KiB |
| subtask_1_47.txt | AC | 69 ms | 13996 KiB |
| subtask_1_48.txt | AC | 42 ms | 14108 KiB |
| subtask_1_49.txt | AC | 41 ms | 13936 KiB |
| subtask_1_50.txt | AC | 71 ms | 13940 KiB |
| subtask_1_51.txt | AC | 78 ms | 13976 KiB |
| subtask_1_52.txt | AC | 78 ms | 14108 KiB |
| subtask_1_53.txt | AC | 69 ms | 13936 KiB |
| subtask_1_54.txt | AC | 68 ms | 13932 KiB |
| subtask_1_55.txt | AC | 82 ms | 13988 KiB |
| subtask_1_56.txt | AC | 80 ms | 14012 KiB |
| subtask_1_57.txt | AC | 69 ms | 13884 KiB |
| subtask_1_58.txt | AC | 70 ms | 14000 KiB |
| subtask_1_59.txt | AC | 80 ms | 13940 KiB |
| subtask_1_60.txt | AC | 78 ms | 13980 KiB |
| subtask_1_61.txt | AC | 68 ms | 14020 KiB |
| subtask_1_62.txt | AC | 66 ms | 13940 KiB |
| subtask_1_63.txt | AC | 68 ms | 13944 KiB |
| subtask_1_64.txt | AC | 65 ms | 13936 KiB |
| subtask_1_65.txt | AC | 65 ms | 13996 KiB |
| subtask_1_66.txt | AC | 58 ms | 13716 KiB |
| subtask_1_67.txt | AC | 31 ms | 8632 KiB |
| subtask_1_68.txt | AC | 82 ms | 13904 KiB |