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

网站开发公司广告word特色专业建设网站

网站开发公司广告word,特色专业建设网站,网站推广意义,自定义导航网站 源码题意:给出一个有向无环图,接下来你可以选择删除一组边,但是注意这组边删去后,要让所有的入度和出度都要比一开始小,同时要保证两个点之间能有一种方式走通即可,然后问剩下的联通点最多有多少。 思路&#…

题意:给出一个有向无环图,接下来你可以选择删除一组边,但是注意这组边删去后,要让所有的入度和出度都要比一开始小,同时要保证两个点之间能有一种方式走通即可,然后问剩下的联通点最多有多少。

思路:

1.首先让所有出度入度比一开始小,删边这个问题肯定是很难的,不如转化成填边,也就是去走这个图,只要满足不走满一个点的出度边入度边,能走多少走多少,这种方式一定满足题目要求,也就是搜索。

2.这道题最关键的点在于保证两个点要有一种方式走通。这把搜索限制成为了一条链。下面来解释
        针对于某一点,我们找出它的最长链,最长链也就是指能有向边走出的最长路。
现在我们选取出两点,这两点不会出现在对方的最长链上,也就是其中一点不可能是对方的儿子
例如1->2 ,1->3
从其他任何一点(1)出发,如果有两条链可以达到这两点,想让其中两点相连,必须出现环,不符合题意,所以最终答案一定是一条链的最长长度,而不会出现两条链混合得到。
或者你可以看成拓扑排序

3.所以答案只要记忆化搜索,记录以每个点起始它能得到的最长链,然后最终选最大值就可以了

4.因为已知答案一定是由一条最长链得到,那么其他的边都没用了,保证任何一点使用的边不是唯一出边,下一个遍历的点不是唯一入边,符合题目要求dfs就可以了。

本人最大的问题就是思路没有明确,且代码写的不够仔细,导致逻辑上有bug出现问题,最终敲了好久算是自己做出来了(还看了样例,不然都意识不到)

代码:

#include <bits/stdc++.h>
#define int long long
#define int128 __int128
#define IOS                       \std::ios::sync_with_stdio(0); \std::cin.tie(0);              \std::cout.tie(0);
const int N = 2e5 + 10;
const int INF = 1e18;
const int MOD = 998244353;int n, m;
std::vector<int> mp[N];
int stn[N], enn[N];
int vis[N];
int dp[N];int dfs(int x)
{if (dp[x])return dp[x];if (stn[x] <= 1){dp[x] = 1;return dp[x];}for (auto i : mp[x]){if (enn[i] == 1)continue;if (dp[i] != 0){dp[x] = std::max(dp[x], dp[i]);continue;}dp[x] = std::max(dfs(i), dp[x]);}dp[x] += 1;return dp[x];
}void solve()
{std::cin >> n >> m;for (int i = 0; i < m; i++){int x, y;std::cin >> x >> y;stn[x]++;enn[y]++;mp[x].push_back(y);}int maxans = 0;for (int i = 1; i <= n; i++){maxans = std::max(maxans, dfs(i));}std::cout << maxans << '\n';
}signed main()
{IOS;int t = 1;// std::cin >> t;while (t--){solve();}
}


文章转载自:

http://kObbiXb7.hmnhp.cn
http://TEY0LzoF.hmnhp.cn
http://B2fVKodJ.hmnhp.cn
http://6K8XjiBv.hmnhp.cn
http://gkiu6nCo.hmnhp.cn
http://VgndvLrc.hmnhp.cn
http://9UBtCVGT.hmnhp.cn
http://kivRO0IV.hmnhp.cn
http://3i2QEBl9.hmnhp.cn
http://jQO4lE9J.hmnhp.cn
http://IiaPQ3Zi.hmnhp.cn
http://aLnl9Rmz.hmnhp.cn
http://2bS06abq.hmnhp.cn
http://tWfRQz40.hmnhp.cn
http://OWCDZFhA.hmnhp.cn
http://EmpyIPPC.hmnhp.cn
http://SokzBlEn.hmnhp.cn
http://8LcLVjK9.hmnhp.cn
http://E39qNxcc.hmnhp.cn
http://7xWicrft.hmnhp.cn
http://OtOLlz4K.hmnhp.cn
http://Ck8XzsWW.hmnhp.cn
http://hXY8qwTI.hmnhp.cn
http://Tg9fIGwg.hmnhp.cn
http://mMwLITeP.hmnhp.cn
http://FORia1Rb.hmnhp.cn
http://Hgz2Y8zA.hmnhp.cn
http://kiPZBg1v.hmnhp.cn
http://W6fWEZyH.hmnhp.cn
http://OHObsEhl.hmnhp.cn
http://www.dtcms.com/wzjs/691686.html

相关文章:

  • 网站首页代码怎么写没有域名的网站
  • 高端产品网站建设网站开发实用技术知识点
  • 网站域名价值查询app定制公司
  • jsp电商网站开发教程网站建设需求模板
  • pc端手机网站 样式没居中网站建设的项目方案
  • flash 网站引导页北京网站优化流程
  • 南宁网站制作设计公司网站乱码
  • 苏州企业网站建设网络服务php网站建设工程师
  • 网站建设的运营计划网站文章页内链结构不好可以改吗
  • 网站内链设计信阳网站建设信阳
  • 网站建设费 科目网站制作域名是免费的吗
  • 网站 制作 报价深圳制作网站怎么样
  • 音乐网站用dw怎么做学做蛋糕什么网站
  • 做自己的网站多少钱17zwd一起做网站普宁
  • 能看各种网站的浏览器网站建设要钞钱
  • 网站建设制作找哪家公司wordpress自定义菜单设置
  • 武威建设局网站优化网站的方法有哪些
  • 山西城乡和住房建设厅网站建设方案
  • 五通桥移动网站建设深圳中国有名的设计公司
  • 郑州一凡网站建设广告优化师工作内容
  • 有域名了怎么做网站嘉兴网站开发
  • 做票据业务的p2p网站软件开发工具与平台
  • 多语言社交网站开发企业做网站要注意些什么问题
  • 网站设计 西安郑州网站网络营销
  • 代做效果图的网站好网页设计与制作总结报告800字
  • asp网站变慢网页制作制作网站
  • 网站制作一键生成深圳苏州企业网站建设服务公司
  • 国内外优秀设计网站门户首页网站建设方案
  • 广州中新知识城开发建设网站在线设计名字
  • 东莞建设网站官网住房和城乡wordpress my02visitors