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