有关造测试数据的一些问题

学术版

xingshuyan000 @ 2024-11-28 15:33:56

想自己出题,然后目前的情况是,题面已经写好了,然后std还没来得及写(等我有空了会去写的),还没有测试数据。那么怎么样才能快速地生成符合题意的测试数据呢?(我知道首先要把std写好,那剩下的该怎么弄)

我肯定不能手造数据吧,要不然对于一些超大的数据,不得累死我


by LionBlaze @ 2024-11-28 15:36:38

@xingshuyan000 this,但是需要 C++17 支持


by LionBlaze @ 2024-11-28 15:37:12

就按照题意随机生成嘛。如果要强一点的还得手写造数据规则


by yukimianyan @ 2024-11-28 15:37:17

https://gitee.com/mulab/oi_tools


by AzusidNya @ 2024-11-28 15:38:05

@xingshuyan000 oi-wiki


by Reduct @ 2024-11-28 15:40:16

@xingshuyan000 直接随机数生成啊,但要注意合法性。

比如生成树的话随机连边的时候用并查集判一下,别连出环来了。


by xingshuyan000 @ 2024-11-28 15:49:40

@LionBlaze@yukimianyan@AzusidNya@Reduct okok,谢谢各位!


by LionBlaze @ 2024-11-28 15:52:40

@Reduct 额,用并查集判断应该会比较慢(会生成很多不合法的需要重连),可以维护两个个集合,第一个表示当前在树中的,第二个是第一个的补集(不在树中的),然后每一次在第一个和第二个中分别随机选一个点连起来,然后维护集合即可


by Reduct @ 2024-11-28 15:54:20

@LionBlaze okok,谢谢,学到了,我之前一直是直接并查集的


by Reduct @ 2024-11-28 15:54:59

@LionBlaze 可能是因为我对拍的数据都大不到哪去所以效率没有太大差别吧。。。


by LionBlaze @ 2024-11-28 16:02:57

@Reduct 另外比我巨得多的 Tree-Generator


| 下一页