「我們的征途是星辰大海」
銀英傳←
這才是題目←
思路:
加權並查集
維護f[i],t[i],cnt[i]
cnt[i]->i在當前佇列中後面有多少元素
f[i]->i所在集合標誌元素(佇列底元素)
注意在未執行find(i)操作時,f[i]不一定為i真正的底
t[i]->i所在佇列頂元素
t[i]僅在merge更新不再是隊底的元素的cnt值時有意義
需要保證每個元素的f[i]的t、cnt等值時刻為實際值,這樣每個元素在find後,t、cnt等可更新為實際值
有點像線段樹的lazy思想?
/*
4m 2 3
c 1 2
m 2 4
c 4 2
*/#include
#include
#include
using
namespace
std;
const
int maxn = 200000 + 50;
int f[maxn],t[maxn],cnt[maxn];
void init(int n)
int n;
int find(int x)
void merge(int a,int b)
char ch;
int x,y;
int main()
else
else}}
}
好像18年要重新動畫化?emmmmm COdevs 1540 銀河英雄傳說
source 2002年noi全國競賽 時間限制 1 s 空間限制 256000 kb 題目等級 大師 master 公元五八 一年,地球居民遷移至金牛座 第二行星,在那裡發表銀河聯邦創立宣言,同年改元為宇宙歷元年,並開始向銀河系深處拓展。宇宙歷七九九年,銀河系的兩大軍事集 在巴公尺利恩星域爆發戰爭...
codevs 1540 銀河英雄傳說
題目描述 description 公元五八 一年,地球居民遷移至金牛座 第二行星,在那裡發表銀河聯邦創立宣言,同年改元為宇宙歷元年,並開始向銀河系深處拓展。宇宙歷七九九年,銀河系的兩大軍事集 在巴公尺利恩星域爆發戰爭。泰山壓頂集 宇宙艦隊司令萊因哈特率領十萬餘艘戰艦出征,氣吞山河集 點名將楊威利組織...
銀河英雄傳說
公元五八 一年,地球居民遷至金牛座 第二行星,在那裡發表銀河聯邦創立宣言,同年改元為宇宙歷元年,並開始向銀河系深處拓展。宇宙歷七九九年,銀河系的兩大軍事集 在巴公尺利恩星域爆發戰爭。泰山壓頂集 宇宙艦隊司令萊因哈特率領十萬餘艘戰艦出征,氣吞山河集 點名將楊威利組織麾下三萬艘戰艦迎敵。楊威利擅長排兵布...