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)
并查集
spc文件怎么看,spc文件用什么打开?
0文件怎么看,0文件用什么打开?
sparseimage文件怎么看,sparseimage文件用什么打开?
sp文件怎么看,sp文件用什么打开?
dv文件怎么看,dv文件用什么打开?
soundpack文件怎么看,soundpack文件用什么打开?
dus文件怎么看,dus文件用什么打开?
dtw文件怎么看,dtw文件用什么打开?
spdf文件怎么看,spdf文件用什么打开?
0文件怎么看,0文件用什么打开?