recursion - 为什么当我尝试在 codechef 中提交我的问题时,以下 DP 问题显示 SIGSEGV 错误?
问题描述
以下是我在 codechef 中为蜘蛛侠和跳跃问题编写的代码。但它不适用于所有测试用例,这就是为什么它没有被提交并且在提交失败后显示 SIGSEGV 错误。
int *dp;
void memset(int N)
{
dp = new int[N+1];
for(int i=0;i<=N;i++)
dp[i] = -1;
}
int energy(int n,int N,int Height[])
{
if(n == N-1)
return 0;
if(dp[n]!=-1)
return dp[n];
int mini = INT_MAX;
for(int i = 1;n+i<=N-1;i=i*2)
{
int ener = abs(Height[n+i] - Height[n]) + energy(n+i,N,Height);
mini = min(mini,ener);
}
dp[n] = mini;
return mini;
}
解决方案
推荐阅读
- javascript - 将创建的节点从 JavaScript 添加和排序到没有 JQuery 的 HTML 表中?
- c# - 如何在c#中将表单文本与右侧对齐?
- python - 使用 Pandas 写入 Excel 时出现意外字符
- java - 使用 selectedIndex 在两个 JList 之间移动类的对象
- excel - 继续获得〜N / A
- reactjs - 使用 onchange 更改状态后访问状态返回循环对象值错误
- c# - 如何检测何时从统一中生成或删除新对象以获取得分/分数?
- reactjs - React-redux:带变量的操作
- r - 使用名称后缀延长旋转时间?
- qt - 尝试增加进度时出现绑定循环错误