Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:这题递推运算量好像很可能上亿啊!递归内存不允许啊!!!咋办!!!

Posted by center1370 at 2012-05-11 17:15:28 on Problem 1015
In Reply To:Re:这题递推运算量好像很可能上亿啊!递归内存不允许啊!!!咋办!!! Posted by:longinus at 2007-10-02 12:07:50
我用C#,看C++代码头疼。
我也懒得看你那个算法,
我点进来,是因为我百度搜索“递归超过40亿”的第一个搜索结果。
因为我刚刚遇到一个问题,本来想用递归去遍历所有可能性,
但是需要递归24G次,堆栈溢出,我用的VS2008,WinXP,默认情况堆栈为2M,
虽然可以在程序生成的时候指定堆栈大小,但是那样会耗费大量的内存,不切实际。
百思不得其解的时候,突然想到返璞归真,改用循环。
我的问题已知需要的循环次数,很方便,如果不知道需要的循环次数.
  try
  {
     while(true)
    {
      ......
    }
  }
  catch
  {}
就好了。
使用循环的话每次循环结束都会释放掉本次循环用到的资源,所以不会溢出。
只是循环次数多相当耗费时间而已。
总想精简代码使用递归是好的想法,但是大量运算还是要返璞归真用一下循环。

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator