加强数据 & 叉 2 篇题解
查看原帖
加强数据 & 叉 2 篇题解
516346
沉石鱼惊旋山有木兮楼主2024/1/26 15:50

数据采用如下 gen 生成:

#include <bits/stdc++.h>
using namespace std;
int n, m;
set<pair<int, int>> s;
void add(int u, int v) { s.insert({min(u, v), max(u, v)}); }
int main()
{
	freopen("data.in", "w", stdout);
	n = 10000;
	// m = 100000;
	// 1 -> ... -> n
	for (int i = 1; i <= n; i++)
		if (i != 1)
			add(1, i);
	for (int i = 1; i <= n; i++)
		if (i != n)
			add(i, n);
	// 2 -> ... -> n-1
	for (int i = 1; i <= n; i++)
		if (i != 2)
			add(2, i);
	for (int i = 1; i <= n; i++)
		if (i != n - 1)
			add(i, n - 1);
	// 3 -> ... -> n-2
	for (int i = 1; i <= n; i++)
		if (i != 3)
			add(3, i);
	for (int i = 1; i <= n; i++)
		if (i != n - 2)
			add(i, n - 2);
	// 4 -> ... -> n-3
	for (int i = 1; i <= n; i++)
		if (i != 4)
			add(4, i);
	for (int i = 1; i <= n; i++)
		if (i != n - 3)
			add(i, n - 3);
	// 5 -> ... -> n-4
	for (int i = 1; i <= n; i++)
		if (i != 5)
			add(5, i);
	for (int i = 1; i <= n; i++)
		if (i != n - 4)
			add(i, n - 4);
	cout << n << " " << s.size() << '\n';
	for (auto i : s)
		cout << i.first << ' ' << i.second << '\n';
	return 0;
}

out 应该是

26974803960

一共是 9994599945 条边,刚好不超。

可以叉掉爆搜和 ans 没开 long long 的。

https://www.luogu.com.cn/blog/_post/496399

https://www.luogu.com.cn/blog/_post/504988

这两位的题解被叉了。

另外,题目下方的空间限制是 64M,题目本身设置了 128M。128M 这两篇题解也活不下来。

2024/1/26 15:50
加载中...