栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

第十周总结

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第十周总结

这周也没看什么东西,我感觉也没什么东西从我脑子里流出来,看过之后,没什么特别的感觉,并查集,拓扑排序,不就那些东西吗,只不过在做题时应用不同而已,套路与灵光一现的结合,当然做的多了,思考时有一些方向(好像我在说废话),算法不都这个样吗!,并查集,合并与查找,拓扑排序:将AOV网中的顶点排成一个线性序列;

并查集:

曾经有位牛人对我说,并查集非常简单(我也这么认为),但是在做题时往往想不到用并查集的思想;

现在我还体会不到(懂的都懂),但是在做题时,看了题目的标签,确实有其他的做题方向,但是其他方向好像并没有比并查集简单(也可能是我太菜了),就这吧,我要开始了

最简单的题(那几十题中,我认为的,我想应该能明白我是啥意思):

修复公路

N个点,M条边,每个边有相应的权值,这些边同时修复,权值代表修复时间,求出这些点连通的最短时间,

题解:

根据修复时间的长短进行升序排序,再进行合并,一旦发现已经连通,就输出

#include

using namespace std;

struct node
{
    int x,y,t;
}bns[100000+10];
int n,m,fa[100000+10];
bool cmp(node a,node b)
{
    return a.t>n>>m;
    for(int i=1;i<=n;i++)
        fa[i]=i;
    for(int i=1;i<=m;i++)
    {
        cin>>bns[i].x>>bns[i].y>>bns[i].t;
    }
    sort(bns+1,bns+m+1,cmp);
    for(int i=1;i<=m;i++)
    {
        hb(bns[i].x,bns[i].y);
        if(check())
        {
            cout< 

当然这只是个最简单的题目,比赛中一定不会遇到这么简单问题,

其他的什么删边,欧拉回路,还有连通块,这都是什么牛马呀,

还有一个就那个炸铁路那个问题,题目虽然理解起来非常简单,不出意外的话,意外就来了,我不会做,代码改了又改,真是无语,最后我还是败给了现实,看了题解;

拓扑排序

它不认识我,我不懂它(我想起来了一句台词:真正的懂,不用说),但是迫于现实,我还是说说吧,一个有向无环图,算了吧,没什么想说的,本来就没看多少文章,未完待续~~~~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/867473.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号