题目:
思路分析:
一个dfs遍历搜索的题目暴力就行
但是只拿了24分 不知道哪里有瑕疵!(望大佬指出
代码实现:
const int MAX=100100;
vector<int>v[MAX];
int t[MAX];
int n;
double k,z;
double ans;
double val[MAX];
void dfs(int u){
if(t[u]) ans+=val[u];
for(int i=0;i<v[u].size();i++){
int ne=v[u][i];
val[ne]=val[u]*z;
if(t[ne]) val[ne]*=t[ne];
// cout<<ne<<" = "<<val[ne]<<endl;
dfs(ne);
}
}
int main(){
cin>>n>>k>>z;
z=(100-z)/100.0;
// cout<<z<<endl;
for(int i=0;i<n;i++){
int m;
cin>>m;
if(m==0){
int x;
cin>>x;
t[i]=x;
}
else {
while (m--) {
i

本文主要探讨了一道使用深度优先搜索(DFS)解决的优化问题。作者通过代码实现了一个DFS遍历算法,并尝试求解最优化问题。然而,在实际运行中只得到了部分正确结果,期待读者(尤其是算法专家)指出可能存在的问题和优化方向。代码中涉及了递归、权重传递和动态规划的概念。
最低0.47元/天 解锁文章
205

被折叠的 条评论
为什么被折叠?



