求助:关于数组大小

P3376 【模板】网络最大流

root357 @ 2022-08-26 16:07:10

如题目。这道题我第一次提交的结果是 RE + TLE 0 pts,而将数组大小由 N = 210, M = 5010 改成 N = 20010, M = 100010 后就 AC 了。 我现在有些不理解,为什么改了数组大小就不会 RE。

第一次提交

第二次提交


by liqingyang @ 2022-08-26 16:08:48

你网络流没反向边?


by 方123456 @ 2022-08-26 16:08:56

双向边 ……


by root357 @ 2022-08-26 16:11:29

for (int i = 1; i <= m; i ++) {
   int u, v;
   ll w;
   scanf("%d%d%lld", &u, &v, &w);

   AddEdge (u, v, w);
   AddEdge (v, u, 0);
}

啊?我建了反向边了啊。


by Dian_ed @ 2022-08-26 16:12:46

@方123456 什么意思?因为我只是个c++初学者,不懂太多,谢谢!


by root357 @ 2022-08-26 16:14:28

哦不好意思,我理解错了。您的意思应该是链式前向星在网络流建反向边的情况下需要 2 \times M 的空间。这个在代码里是写了 2 \times M 的。


by 方123456 @ 2022-08-26 16:19:37

你的建边是 int 类型的函数,然而没有返回值。。。。。。。。。。 @root357


by root357 @ 2022-08-26 16:22:45

@方123456 啊这 ... 不好意思犯了一个低级错误,改过来就好了。


by root357 @ 2022-08-26 16:24:43

感谢 @liqingyang @方123456 二位大佬帮我解答问题。


|