第九關 2 29模擬賽

2022-08-28 14:15:26 字數 3130 閱讀 2587

14:26:48 不想讓 你為難,你不再需要給我個答案。——楊宗緯《空白格》   

第一題 【noip2018模擬賽】刺客信條(ac)

分四個情況,用乙個並查集維護聯通性

sprt()用於算平方根

#includeconst

int n=2002

;using

namespace

std;

char

ch;struct

sbyt[n*n];

intn,x[n],y[n],f[n],xx,yy,tot,ans;

void add(int x,int y,double

v)bool cmp(sby a,sby b)

int ss(int x)

intmain()

f[n+1]=n+1;f[n+2]=n+2

; sort(t+1,t+1+tot,cmp);

for(ans=1;ss(n+1)^ss(n+2);ans++)f[ss(t[ans].x)]=ss(t[ans].y);

printf(

"%.2lf

",t[ans-1

].v);

return0;

}

第二題 【noip2018模擬賽】傳送門 (portal)

假設我們當前節點為i

要麼在當前節點設傳送門,暴力走p,再傳回來,很明顯我們會從最深的那個葉子傳回來。

要麼在p的子樹中設傳送門,暴力走這條邊2次(下去1次,回來1次)

a[i]表示i子樹中到i最遠的葉子。

最後答案就是f[1]

#include#define n 1000005

#define ll long long

using

namespace

std;

ll f[n],g[n],a[n],c[

2*n],b[2*n],head[n],n,m,next[2*n];

void add(int x,int y,int z)

void dfs(int k,int

o) }

return;}

intmain()

dfs(

1,0);

printf(

"%lld\n

",f[1

]);}

第三題【noip2018模擬賽】黑暗之魂(darksoul)

**繁瑣。思想簡單。

求圖的直徑。

環套樹,記dis(x,y)為環上的點x到點y的最短路徑。

顯然,給環定乙個方向,求個字首和。對於每個環上的點x,必有乙個a[x],表示按照給定的方向走,第乙個滿足環長顯然不遞減。

所以拿個線段樹維護一下。乙個區間加,乙個區間減。

#include#define ll long long

const

int n=1e6+7

;using

namespace

std;

intn,cnt,cir,cc,tot,mid,head,tail,flag;

intls[n],ss[n],low[n],bb[n];

bool

vis[n];

int id[n],q[n*2

];ll ans,f[n*2],size[n*2],s[n*2],dis[n*2

],sumdis;

struct

xzg[n*2

];struct

sbya[n];

vector

wyb;

void add(int x,int y,intw);

ls[x]=cnt;

}void tarjan(int x,int

fa)

else

}if(low[x]==ss[x])

}}void dfs(int x,int

fa)

else

if (d>max2) max2=d;

}ans=max(ans,max1+max2);

f[x]=max1;

}bool

cmp(sby a,sby b)

return a.x

}int

main()

sort(a+1,a+n+1

,cmp);

for(int i=1;i<=n;i++)

}}

if(flag)

tarjan(

1,0);

for(int i=1;i<=tot;i++)

dfs(id[i],

0),size[i]=f[id[i]];

for(int i=1;i<=tot;i++)

}}

for(int i=tot+1;i<=2*tot;i++)

dis[i]=dis[i-tot],size[i]=size[i-tot];

for(int i=1;i<=2*tot;i++)

s[i]=s[i-1]+dis[i];

sumdis=s[tot];

head=tail=1

; q[head]=1

;

for (int i=2;i<=2*tot;i++)

printf(

"%lld

",ans+1

);

return0;

}

團隊賽 (第九周)

a and then there was 5 d dating on line h hotel rewards a 題意 給出4個數,兩個乙個組合,求最小的差距。思路 直接排序,中間兩個一組,兩邊一組,這樣差最小。注意 一定是正數。input 4 7 10 20 0 0 1 1000 1 2 3 4...

Educoder 第九關ROC曲線與AUC

題目是計算auc 結合查到的資料寫的 很多地方我也不理解含義 雖然在平台ac了 但在python執行沒有輸出auc 不知道什麼緣故 import numpy as np def calauc prob,labels 計算auc並返回 param prob 模型 樣本為positive的概率列表,型別...

第九周大獎賽計分

description 在歌手大獎賽中,有9位評委為參賽的選手打分,分數為0 10分。選手最後得分為 去掉乙個最高分和乙個最低分後,取其餘7個分數的平均值。請編寫乙個程式實現這個程式。input 9位評委給選手找的分,9個0 10之間的小數 output 選手的最後得分,即9個成績中去掉乙個最高,去...