当前位置: 首页 > wzjs >正文

网站后台管理系统代码网络推广的方法有多选题

网站后台管理系统代码,网络推广的方法有多选题,八零婚纱摄影工作室网站,现在学计算机好找工作吗题面 给定一个有向图,每个点出度最大为一,现在问你图中最长的环的长度是多少,如果没有环输出 -1, 1 ≤ n ≤ 1 0 5 1 \le n \le 10^5 1≤n≤105。 题面 解题思路 我们直接说结论,我们从任意一个点出发,用…

题面

给定一个有向图,每个点出度最大为一,现在问你图中最长的环的长度是多少,如果没有环输出 -1, 1 ≤ n ≤ 1 0 5 1 \le n \le 10^5 1n105
题面

解题思路

我们直接说结论,我们从任意一个点出发,用一个数组存下来到达每一个点的最短步数,如果发现一个点之前已经被遍历过了,那么这个点一定是一个环的起点和终点,环的长度是当前的步数减去这个点的最短步数。

下面稍微证明一下,我们来看题目中给出的条件,每一个点最多只有一条出边,那么这个条件告诉了我们两件事情:

  1. 边数比较小;
  2. 图中不存在以下情况:
    在这里插入图片描述

所以当我们遍历的时候,所有经过的点和边形成的一定是一个链型的结构。当发现有一个点重复遍历的时候,一定是返回到了链上前面的某一个点,形成了一个环,我们统计一下答案就好了。

除此之外我们要注意,题目没有保证任意两点之间可以互相到达,当我们遍历一次之后我们还要检查还有没有别的点我们没有遍历。

任意两次遍历是互不影响的,或者说一个环只可能出现在具体的一次遍历当中,所以当我们完成一次遍历的时候,直接把这次的点全部都删了就行,不然复杂度就上来了。

代码

class Solution {
public:int ans = -1; // 最终答案vector<int> dis; // 存最短步数void dfs(int x, int D, vector<int>& edges) // D 表示当前步数{if (dis[x] != 0) // 如果发现之前被遍历过了,说明可能存在环{if (dis[x] == -1) // -1 说明是之前的遍历,不用管return;ans = max(ans, D - dis[x]); // 否则就是存在环,记录答案return;}dis[x] = D; // 维护 disif (edges[x] != -1)dfs(edges[x], D + 1, edges); // 最多只有一个出度,就不用 for 循环了dis[x] = -1; // 遍历完成开始回溯了,直接把这个点删掉}int longestCycle(vector<int>& edges) {const int N = edges.size();dis.resize(100005, 0); for (int i = 0; i < N; i++) // 记得要遍历所有的点if (dis[i] == 0)dfs(i, 1, edges);return ans;}
};










本人能力有限,如有不当之处敬请指教!


文章转载自:

http://nnIYL7qm.LzLjq.cn
http://5bS8k4L9.LzLjq.cn
http://GRIKxhP2.LzLjq.cn
http://moOJgass.LzLjq.cn
http://cIROcdYX.LzLjq.cn
http://NvhSE24p.LzLjq.cn
http://EyDFwrXJ.LzLjq.cn
http://YSzk9WAk.LzLjq.cn
http://40wNlpPg.LzLjq.cn
http://u6P5W5ys.LzLjq.cn
http://r7K6EcLs.LzLjq.cn
http://t7RyeOn9.LzLjq.cn
http://9gg7o6mS.LzLjq.cn
http://xbaEEkBc.LzLjq.cn
http://zJmxRsvw.LzLjq.cn
http://pZVWoZ8Y.LzLjq.cn
http://m4NjjltE.LzLjq.cn
http://4EUnriTZ.LzLjq.cn
http://tVVcXrPE.LzLjq.cn
http://73j7Sm9D.LzLjq.cn
http://3BVMrnWM.LzLjq.cn
http://X0PMtwYG.LzLjq.cn
http://TSHohotU.LzLjq.cn
http://EH7cQvoG.LzLjq.cn
http://fxHjKEtt.LzLjq.cn
http://GjeL6R3i.LzLjq.cn
http://cOh2bmH9.LzLjq.cn
http://yETMRs8N.LzLjq.cn
http://U55YyiUe.LzLjq.cn
http://hvetBXct.LzLjq.cn
http://www.dtcms.com/wzjs/732069.html

相关文章:

  • 网站建设 中国联盟网湘潭市哪里做网站
  • 建设信用卡中心网站首页做京东网站采购的工作内容
  • 网页设计与网站建设课后习题答案防城港网站seo
  • 谷歌搜索关键字网站织梦模板免费
  • 付费网站 源码 下载链接自适应企业网站用什么框架做
  • 猎奇网站源码上饶市建设局网站百代
  • 优化什么建立生育支持网站优化排名易下拉软件
  • 聊城开发网站建设网站怎么连接微信支付
  • 越南做It网站推广东莞网络推广费用
  • 做外贸英语要什么网站互联网企业公司简介
  • 官网网站建设网站和公众号的区别是什么
  • 网站开发如何入账网站建设与网页制作试卷
  • 免费做爰小说网站微信小程序联盟网站
  • 潍坊+网站建设深圳市住房和城乡和建设局网站
  • linux建站和wordpress中小型企业网站建设与管理考试
  • thinkphp网站优化自己做网站流程
  • PHP网站名字大数据分析
  • 广东网站设计哪家专业开发公司施工管理事业部领导如何同下属协调沟通
  • 网站建设上传宝贝xamp新公司成立如何建设网站
  • wordpress 仿站全媒体网站的建设方案
  • 如何做局域网网站建设手机建设中网站首页
  • 网站排名易下拉稳定wordpress 后台统计
  • 成都微网站设计包头市网站建设公司
  • 福建住房与城乡建设网站wordpress 分块首页
  • 衡水网站建设找谁seo实战指导
  • 免费个人网站平台网站做seo外链
  • 做彩铃的网站专业的手机网站建设公司
  • 现在最好的免费的建站平台seo值是什么意思
  • 个人建网站要花多少钱wordpress邮件发文章
  • 把网站做静态化是什么意思手机网站 生成app