Luogu食物鏈做法2

2021-08-15 18:41:02 字數 708 閱讀 8281

這個題的做法2比做法1好想

以下距離都在 mod 3意義下

到最後所有動物的關係可以用樹表示,d[i]表示節點i到當前fa[i]的距離,我們規定若d[x]+1=d[y](規定成-1也可以),代表x吃y

那麼如果x、y同族,那麼如果規定x當前祖先到y當前距離為的d[y]-d[x],這樣x到y祖先距離為d[x](到自己當前祖先距離)+d[y]-d[x]=d[y]=y到y祖先距離,所以x\y同族

如果x吃y,那麼就把x祖先到y祖先距離設為d[y]-d[x]-1,這樣x到y祖先距離為d[x]+d[y]-d[x]-1=d[y]-1,則x吃y

#include#include#include#define fr(i,s,t) for (i=s;i<=t;i++)

using namespace std;

int n,k,ans,fa[50001],d[50001];

int read()

int fin(int x)

int main()

if (t==1)

d[fa[x]]+=(d[y]-d[x]+3)%3;

fa[fa[x]]=fa[y];

} else

d[fa[x]]=(d[y]-d[x]-1+3)%3;

fa[fa[x]]=fa[y];

} }printf("%d",ans);

}

球隊「食物鏈」

某國的足球聯賽中有n支參賽球隊,編號從1至n。聯賽採用主客場雙迴圈賽制,參賽球隊兩兩之間在雙方主場各賽一場。聯賽戰罷,結果已經塵埃落定。此時,聯賽主席突發奇想,希望從中找出一條包含所有球隊的 食物鏈 來說明聯賽的精彩程度。食物鏈 為乙個1至nnn的排列,滿足 球隊t1戰勝過球隊t2t 2t 2 球隊...

題目207 食物鏈

描述 動物王國中有三類動物 a,b,c 這三類動物的食物鏈構成了有趣的環形。a吃 b,b吃 c,c吃 a。現有n 個動物,以1 n編號。每個動物都是 a,b,c 中的一種,但是我們並不知道它到底是哪一種。有人用兩種說法對這 n個動物所構成的食物鏈關係進行描述 第一種說法是 1x y 表示x和y 是同...

食物鏈 待解決

description 動物王國中有三類動物a,b,c,這三類動物的食物鏈構成了有趣的環形。a b吃c,c吃a。現有n個動物,以1 n編號。每個動物都是a,b,c中的一種,但是我們並不知道它到底是哪一種。有人用兩種說法對這n個動物所構成的食物鏈關係進行描述 第一種說法是 1 x y 表示x和y是同類...