StudyingFather @ 2023-12-18 11:23:18
目前已经想到的问题是不必要的深拷贝导致 TLE/MLE,这个的解决方案应该是采用类似可持久化那样的写时复制技术(Copy on Write),不过我也不知道有没有其他更容易实现的解决方案,也请大家指教 /kel
不过还有两个测试点是 WA 而不是 MLE 或者 TLE,就不知道是哪写出问题了 /yun
代码很长,就放 在 LOJ 的提交记录 好了。代码里用了不少 OOP 的思想,包括虚函数等等,虽然可能对 OIer 比较陌生但我觉得可读性还是有保证的。
by Dantal10n @ 2023-12-18 12:00:32
Copy on Write 挺好实现的吧
by SMall_X_ @ 2023-12-18 12:15:29
qp
by BlanketRice @ 2023-12-18 12:27:49
话说我用指针存嵌套的指令,然后到函数外面访问就好好的,在函数内部访问就出现了乱码
调试的时候访问地址没有错
到底怎么回事,有神仙解释一下吗
by caibitter @ 2023-12-18 12:37:52
可以把所有需要用到的指令存在一个 vector 里,用一个数表示指令吧
by fjy666 @ 2023-12-18 12:41:09
std::move
by 1saunoya @ 2023-12-18 13:11:22
可以咨询 woshiluo 捏
by Kevin090228 @ 2023-12-18 15:15:06
@StudyingFather 考虑我们有一个 Replace 指令,它的参数是一个 Trigger 指令。Replace 两次会生成两个 Trigger 的副本,但是这两个副本的参数是同一个指针,Mirror 一个 Trigger 的时候会影响另一个。
但是好像改了这个错还没过(?
by StudyingFather @ 2023-12-18 15:19:03
@Kevin090228
感谢提醒,中午修了这个和其他小锅之后已经通过了本题。
by brimosta @ 2023-12-18 18:13:21
@StudyingFather 为什么我的写法没有这个问题?我就是每次直接给它复制过去的
代码见https://www.luogu.com.cn/paste/izba2hzg
by brimosta @ 2023-12-18 18:14:13
@StudyingFather 具体就是第119行的直接“等于”