【洛谷 P7299】 【并查集】 Dance Mooves S
题目
解题思路
可以先求出k轮后i能到达next[i]
可以发现将会组成由很多个简单环组成的图,它们能到达的点可以共享给同一个环内的
所以可以用并查集统计出每一个环,暴力合并环内点能到达的点集
代码
#include<iostream>
#include<vector>
#include<cstdio>
#include<bitset>
#include<set>
using namespace std;
int n,k,x,y,c[100020],fa[100010],vis[100010],ans[100010];
set<int> st[100010];
vector<int> g[100010];
bitset<100010> p; //相当于一个bool类型的数组
int find(int x)
{
if (x==fa[x])