记录编号 579932 评测结果 AAAAAAAAAA
题目名称 [HZOI 2015] 偏序++ 最终得分 100
用户昵称 Gravataryrtiop 是否通过 通过
代码语言 C++ 运行时间 2.282 s
提交时间 2023-07-15 22:35:13 内存使用 0.00 MiB
显示代码纯文本
#include <bits/stdc++.h>
#define fir first
#define sec second

using pii = std::pair<int, int>;

const int maxn = 4e4 + 5;
std::bitset<maxn> S[maxn], tmp;
int n, k;
pii a[maxn];

int main() {
	freopen("partial_order_plus.in", "r", stdin);
	freopen("partial_order_plus.out", "w", stdout);
	scanf("%d %d", &n, &k);
	for(int i = 2;i <= n;++ i)
		S[i] = S[i - 1], S[i].set(i - 1, 1);
	for(int j = 0;j < k;++ j) {
		for(int i = 1;i <= n;++ i)
			scanf("%d", &a[i].fir), a[i].sec = i;
		std::sort(a + 1, a + 1 + n);
		tmp.reset();
		for(int i = 1;i <= n;++ i) {
			S[a[i].sec] &= tmp;
			tmp.set(a[i].sec);
		}
	}
	int ans = 0;
	for(int i = 1;i <= n;++ i)
		ans += S[i].count();
	printf("%d\n", ans);
	return 0;
}