社区讨论
请问是否有记搜优化的递归解法?我研究了半天没写出来,以下为原始版。感谢大佬赐教
P2415集合求和参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lo9ifnut
- 此快照首次捕获于
- 2023/10/28 11:56 2 年前
- 此快照最后确认于
- 2023/10/28 11:56 2 年前
CPP
#include <bits/stdc++.h>
using namespace std;
int a[1001];
int ans;
int sum;//从这一节点到子节点的链上的和
void dfs(int loc,int len)
{
if(loc > len)
{
ans += sum;
return;
}
//
sum += a[loc]; //选这个
dfs(loc+1,len);//
//
sum -= a[loc]; //不选这个
dfs(loc+1,len);
}
int main()
{
//freopen("input.in","r",stdin);
//freopen("output.out","w",stdout);
int x,i=0;
while( cin >> x )
{
a[++i] = x;
}
dfs(1,i);
cout << ans <<endl;
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...