篇首语:本文由编程笔记#自由互联小编为大家整理,主要介绍了P6185 [NOI Online #1 提高组] 序列(二分图)相关的知识,希望对你有一定的参考价值。
P6185 [NOI Online #1 提高组] 序列(二分图)
先利用操作二使用DSU找到连通块每个点的权值为序列的差值。
然后利用操作一进行连边。
若图为二分图则两个部分的差值不会变因此必须两个部分的值必须相同才能满足。
若图不为二分图则图的权值和的奇偶性不会变因此差值为偶数即可消除。
// Problem: P6185 [NOI Online #1 提高组] 序列// Contest: Luogu// URL: https://www.luogu.com.cn/problem/P6185// Memory Limit: 250 MB// Time Limit: 2000 ms// Date: 2022-05-23 16:17:16// --------by Herio--------#includeusing namespace std;typedef long long ll;typedef unsigned long long ull; const int N1e55,M2e45,inf0x3f3f3f3f,mod1e97;const int hashmod[4] 402653189,805306457,1610612741,998244353;#define mst(a,b) memset(a,b,sizeof a)#define db double#define PII pair#define PLL pair#define x first#define y second#define pb emplace_back#define SZ(a) (int)a.size()#define rep(i,a,b) for(int ia;ib;--i)#define ios ios::sync_with_stdio(false),cin.tie(nullptr) void Print(int *a,int n)for(int i1;i