我用的是记忆化搜索
double dp(int u) { if(f[u] >= 0) return f[u]; f[u] = 0; for(int i = h[u]; ~i; i = ne[i]) { int j = e[i]; f[u] += (w[i] + dp(j)) / oute[u]; } return f[u]; }
为啥转移里的if(f[u] >= 0) return f[u];不能改成if(f[u] != -1) return f[u];
if(f[u] >= 0) return f[u];
if(f[u] != -1) return f[u];
/qdqd