您的位置:首页 > 大数据

大数据递归栈溢出问题

2015-08-31 00:29 239 查看
转载:http://forum.byr.edu.cn/article/ACM_ICPC/51264

大家懂的,鉴于HDU用的是windows服务器,所以stack大小及其坑爹,稍微深一点的递归栈就会stack overflow。
通常的规避方法是用stack或者手写stack模拟栈的递归过程。这个极其蛋疼啊,而且被卡了STL也很得不偿失唉。(话说这一切都是基于非现场赛来说的,现场赛怎么会卡你这些玩艺儿。)

从Lost(庄立大神)那里学来一种规避栈溢出的方法。

在文件gui头处加上这么一句

#pragma comment(linker, "/STACK:1024000000,1024000000")

后面两个数字随便写。。。你觉得能过就好,另外不要超了栈内存的真正上限。

基于VC++的编译预处理命令,不知道GNU C++上面有没有对应的方式。

去MSDN看一眼就会找到对这一句的对应说明,大概在编译器选项那里。

当然咯,这个代码必须拿C++来提交,所以C++会出现的那种long long 和__int64的问题也要注意到。。。

某题我stack模拟dfs 2500+ms,开放了栈内存的普通dfs 300+ms。。。不解释。。windows伤不起啊。

小小建议,欢迎拍转。

--
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: