贝壳算法题(⊙﹏⊙)大家AC多少啊

感觉从选择开始就比上次题目难了,难道是HC名额不多,开始劝退。#PHP工程师##贝壳找房#
全部评论
我只过了第二道,第三道觉得题目有问题,感觉凉凉
点赞 回复 分享
发布于 2018-09-03 21:25
求第一道ac解法。。
点赞 回复 分享
发布于 2018-09-03 21:27
http://acm.fzu.edu.cn/problem.php?pid=2163 算了,原来都是ACM题,罢了罢了。。
点赞 回复 分享
发布于 2018-09-03 21:58
B题是 双联通分量,用Tarjan扫一遍,重新建图然后减掉最深的两条路径 void tarjan(int u, int pre) //Tarjan强连通   {     vis[u] = true;     dfn[u] = low[u] = ++dep;     st.push(u);     fa[u] = true;     for (int i = s[u]; ~i; i = edge[i].nxt)     {         int v = edge[i].v;         if (edge[i].flag == false)              continue;         edge[i].flag = edge[i ^ 1].flag = false;         if (!vis[v])         {             tarjan(v, u);             low[u] = min(low[u], low[v]);             if (dfn[u]<low[v])             {                 bridge[bri_cnt][0] = u;                 bridge[bri_cnt++][1] = v;             }         }         else if (fa[v])              low[u] = min(low[u], dfn[v]);     }     if (dfn[u] == low[u])     {         int t;         do         {             id[t = st.top()] = res;             st.pop();             fa[t] = false;         } while (t != u);         res++;     } } int dfs(int u, int pre) {     int tmp = 0;     for (int i = s[u]; ~i; i = edge[i].nxt)     {         int v = edge[i].v;         if (v == pre) continue;         int d = dfs(v, u);         pre_d = max(pre_d, tmp + d);         tmp = max(tmp, d);     }     return tmp + 1; }
点赞 回复 分享
发布于 2018-09-03 22:00
妈的,我当时没有注意,三道题都看了一遍,感觉还行。做的时候就是先做多米洛牌,结果刚保存还没有运行,时间到了,相当于一道题也没有这,就是把一道题的答案保存还没有运行调试,凉了,我是不是选错题了,先做其他的
点赞 回复 分享
发布于 2018-09-04 00:56

相关推荐

12-16 18:18
四川大学 后端
点赞 评论 收藏
分享
求个公司要我:接好运
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务