並查集模板 阿瓦的手套加強版

2022-05-21 14:30:07 字數 985 閱讀 3135

題目描述

阿瓦所在的幻想世界迎來冬季啦!

阿瓦是只可愛的小貓,她為了這個冬天買了好多好多的手套,兔阿卡舉辦了乙個長長的冬眠營並邀請了阿瓦參加,阿瓦準備每天都戴不同的手套。

兔阿卡舉辦的冬眠營一共有t天,每一天的早晨,阿瓦都早早地起床挑選手套。她一共有n只手套,每只手套都互不相同。阿瓦每天會在所有的n只手套中挑選兩隻佩戴,阿瓦認為戴兩隻顏色不同的手套是一種怪異的行為,因此她希望每天的兩隻手套都是相同顏色的。

阿瓦現在的n只手套都沒有染過色,阿瓦來到阿卡的地方,希望阿卡幫忙將每乙隻手套染一種顏色,阿卡一共有m種顏色的染料,每種染料你都可以看做有無限的**量.阿瓦想要知道,有多少種染色方案使得自己在冬眠營的每一夭都可以戴上顏色相同的手套。

當存在乙隻手套在兩種方案中的顏色不一樣時,我們說這兩種染色方案是不同的。

輸入第一行三個數n,m,t。意義如題麵中所述。

接下來t行,第i行兩個數xi,yi。表示第i天阿瓦要戴的兩隻手套的編號。

輸出一行乙個數表示答案,對998244353取模。

#include #define ll long long

using

namespace

std;

const ll mod=998244353

;int pre[100005],ran[100005

];int

n,m,t;

int init(intn)}

int find_pre(int

x)bool is_t(int x,int

y)void unitey(int x,inty)}

ll qm(ll a,ll b)

return ret%mod;

}int

main()

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

printf(

"%lld\n

",qm(1ll*m,1ll*ant));

return0;

}

工作安排加強版(神奇的並查集)

題目描述 為了維持農場的運轉,約翰必須打工賺錢。他接到了 n 份工作,每份工作恰好占用他一天的時間。約翰從第一天開始工作,他可以任意安排這些工作的順序,第 i 份工作有 pi 的報酬,但必須在第 di 天結束之前完成。在截止日期後完成的工作沒有報酬。請幫助約翰規劃每天的工作,使得他賺到的錢最多。1 ...

bzoj 3674 可持久化並查集加強版

description 自從zkysb出了可持久化並查集後 hzwer 亂寫能ac,暴力踩標程 kuribohg 我不路徑壓縮就過了!ndsf 暴力就可以輕鬆虐!zky bzoj 3673的加強版。就沒了。include using namespace std const int n 200000 ...

BZOJ 3674 可持久化並查集加強版

題意 三種操作 1 合併ab所在集合 2 查詢ab是否在乙個集合 3 狀態回到第x個操作之前。思路 1 每個節點儲存乙個深度 合併時找到兩個節點的根,ra,rb,若ra的深度小,則ra的父親設為rb,否則rb的父親設為ra 2 查詢直接找到兩個的根。這個的複雜度是多少呢?貌似是logn logn。每...