gen_sequence.h - GaisaiYuno/data-generation GitHub Wiki

sequence(序列)

init():初始化。

add():添加元素。

print(c,ed):输出,中间两个数用 c 隔开,最后输出 ed。c 默认为空格,ed 默认为换行。

函数

gen_random_sequence(len,l,r):生成一个长度为 len,每个元素从 [l,r] 中随机选取的数列。

repeat(pattern,cnt):将数列 pattern 重复 cnt 次。

add_noise(seq,cnt,l,r):在数列 seq 中添加 cnt 个噪音,每个元素从 [l,r] 中随机选取。

gen_query(m,l,r):生成 m 个左右边界在 [l,r] 之间的随机查询。

gen_permutation(len):生成一个长度为 len 的随机排列。

举例

#include <bits/stdc++.h>
#include "random.h"
#include "gen_sequence.h"
using namespace std;
int main() {
	int n=100,m=200;
	sequence s=gen_random_sequence(n,0,1e9); //生成元素处在 [0,1e9] 之间的随机数列
	s.print();
	s=gen_permutation(n); //生成一个排列 
	s.print();
	gen_query(m,1,n); //再随机生成几组查询
	return 0;
}