Codeforces Round #345 (Div. 2) E. Table Compression(并查集)
传送门
首先先从小到大排序,如果没有重复的元素,直接一个一个往上填即可,每一个数就等于当前行和列的最大值 + 1
如果某一行或列上有重复的元素,就用并查集把他们连起来,很(不)显然,处于同一行或列的相同元素始终应该保持一样的,然后再一个一个往上填
#include <bits/stdc++.h>#define N 1000007#define fi first#define se secondusing namespace std;pair <int, pair<int, int> > A[N];map <int, int> X, Y;int n, m;int Hx[N], Hy[N], ans[N], f[N];inline int find(int x)inline void uni(int x, int y)int main()sort(A, A + n * m);for(i = 0; i < n * m; i++)for(k = j + 1; k <= i; k++)for(k = j + 1; k <= i; k++)for(k = j + 1; k <= i; k++)j = i;}for(i = 0; i < n * m; i++)return 0;}
上一篇:[BZOJ3054] Rainbow的信号(考虑位运算 + DP?)
下一篇:[luoguP2331] [SCOI2005]最大子矩阵(DP)
并查集
pla文件怎么看,pla文件用什么打开?
pl1文件怎么看,pl1文件用什么打开?
pl文件怎么看,pl文件用什么打开?
pl0文件怎么看,pl0文件用什么打开?
pkt文件怎么看,pkt文件用什么打开?
pkm文件怎么看,pkm文件用什么打开?
pks文件怎么看,pks文件用什么打开?
pka文件怎么看,pka文件用什么打开?
pkh文件怎么看,pkh文件用什么打开?
pkg文件怎么看,pkg文件用什么打开?