算法竞赛数据生成及使用Sublime对拍
创始人
2024-11-15 17:37:06
0

写在前面:最近几天看蒋老师直接使用了Sublime中的FastOlympicCode插件进行了对拍,出于兴趣来学习一下,关于插件的配置已经有很多大佬讲过啦,这里不再赘述。数据生成的代码我会放到最后,包括生成数组、区间、树、图。

如何使用Sublime进行对拍

首先,如果我们需要对d.cpp这个文件进行对拍,就需要创建d__Good.cppd__Generator.cpp两个文件,顾名思义,前者是正确代码,而后者是数据生成的代码,注意两个文件中都带有两个下划线。

然后,我们在需要对拍的文件中按下ctrl+shift+p找到FastOlympicCoding:Make Stress
在这里插入图片描述
然后回车即可,下图表示程序正在编译
在这里插入图片描述
编译完成后,对拍进行过程如下图所示,找到错误数据后对拍会自动暂停。
在这里插入图片描述

如何生成数据

这里给出一份生成数据的代码,可以生成数组、区间、树、图,供大家参考。

如有错误欢迎您及时向我指出。

#include  using i64 = long long;  std::mt19937 rnd(std::chrono::steady_clock().now().time_since_epoch().count());  int rng(int l, int r) { // [l, r] 	return rnd() % (r - l + 1) + l; }  void array(int n) { // Generates an array with n elements 	int m = 1E9; 	std::vector a(n); 	for (int i = 0; i < n; i++) { 		a[i] = rng(0, m); 		std::cout << a[i] << " \n"[i == n - 1]; 	} }  void cand(int m, int n) { // Generate m cands from 1 to n 	for (int i = 0; i < m; i++) { 		int l = rng(1, n); 		int r = rng(1, n);  		if (l > r) { 			std::swap(l, r); 		}  		std::cout << l << " " << r << "\n"; 	} }  void tree(int n) { // Generate a tree with n vertices 	int m = 1E9; 	for (int i = 1; i < n; i++) { 		int p = rng(0, i - 1); 		int v = rng(1, m); 		std::cout << p + 1 << " " << i + 1 << " " << v << "\n"; 	} }  void graph(int n, int m) { // Generate an undirected graph with n vertices and m edges. There are no double edges or self-rings in the graph, and must be connected. 	std::vector> e; 	std::map, bool> f;  	std::cout << n << " " << m << "\n";  	for (int i = 1; i < n; i++) { 		int p = rng(0, i - 1); 		e.push_back(std::make_pair(p, i)); 		f[std::make_pair(p, i)] = f[std::make_pair(i, p)] = true; 	}  	// debug(f); 	for (int i = n; i <= m; i++) { 		int x, y; 		do { 			x = rng(0, n - 1); 			y = rng(0, n - 1); 		} while (x == y || f.count(std::make_pair(x, y)));  		e.push_back(std::make_pair(x, y)); 		f[std::make_pair(x, y)] = f[std::make_pair(y, x)] = true; 	}  	std::shuffle(e.begin(), e.end(), rnd);  	for (auto [x, y] : e) { 		std::cout << x + 1 << " " << y + 1 << "\n"; 	} }  int main() { 	int t = 5; 	std::cout << t << "\n";  	while (t--) { 		graph(3, 3); 	}  	return 0; } 

相关内容

热门资讯

第九分钟辅助!天天爱柳州辅助器... 天天爱柳州辅助器是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微...
热门推荐!微信小程序蜀山辅助器... 热门推荐!微信小程序蜀山辅助器免费下载(辅助)外挂辅助开挂插件(有挂秘诀)-哔哩哔哩;最新版2026...
第4分钟普及!奇迹陕西辅助器(... 第4分钟普及!奇迹陕西辅助器(透视)原来真的是有挂脚本(推荐开挂软件);奇迹陕西辅助器免费下载原版,...
第八分钟讲解!越乡游金花辅助,... 第八分钟讲解!越乡游金花辅助,九酷众游辅助,细节方法(有挂实锤)-哔哩哔哩1、下载安装好越乡游金花辅...
透视软件!浙江宝宝游戏辅助工具... 透视软件!浙江宝宝游戏辅助工具(辅助)外挂开挂辅助插件(了解有挂)-哔哩哔哩;是一款可以让一直输的玩...
第5分钟发现!桃乐甘肃麻将下载... 《第5分钟发现!桃乐甘肃麻将下载辅助器(辅助)原来有挂软件(必看开挂工具)》 桃乐甘肃麻将下载辅助器...
第8分钟了解!河洛刚次辅助,温... 第8分钟了解!河洛刚次辅助,温州茶苑辅助软件,详细教程(有挂攻略)-哔哩哔哩;无需打开直接搜索加薇1...
热点讨论!新二号辅助软件下载(... 热点讨论!新二号辅助软件下载(辅助)外挂辅助开挂软件(有挂教程)-哔哩哔哩;是一款可以让一直输的玩家...
8分钟解说!网易亲友圈辅助(开... 8分钟解说!网易亲友圈辅助(开挂)原来有挂平台(必看开挂安装);小薇(透视辅助)致您一封信;亲爱网易...
第5分钟开挂!如何在哈灵上辅助... 第5分钟开挂!如何在哈灵上辅助,决战卡五星辅助看牌器,解说技巧(有挂方略)-哔哩哔哩 了解更多开挂安...