hdu 5438(拓扑+bfs)

【YOLOv8实战】从零构建番茄成熟度智能检测GUI系统【附完整工程】 本文详细介绍了从零构建基于YOLOv8的番茄成熟度智能检测GUI系统的完整实战流程。内容涵盖环境搭建、数据集准备、模型训练调优,并重点讲解如何使用PyQt5开发图形界面,最终将项目打包为可执行文件,实现AI模型从训练到桌面应用落地的完整工程闭环。 阅读详情

题意:建图,删掉所有连接点小于2的点,直到不能删为止,问最后剩余的联通块中,点的数量是奇数的联通块中的点的权值和。


思路:拓扑删点,bfs计算


#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <queue>
using namespace std;
typedef long long ll;
vector<int>q[10005];
int p[10005];
int vis[10005];
int in[10005];
int Q[10005];
ll ans,num;
queue<int>que;

void bfs()
{
    while(!que.empty())
    {
        int u = que.front();
        que.pop();
        if(vis[u])
            continue;
        vis[u] = 1;

        num++;
        ans+= p[u];
        for(int i = 0; i < q[u].size(); i++)
        {
            int x = q[u][i];
            if(in[x] < 2)
                continue;
            que.push(x);
        }
    }
    return;
}
int n;
void topsort()
{
    int head_=1,tail=0;
    for(int i=1; i<=n; i++)
        if(in[i] < 2 && in[i] > 0)
        {
            Q[++tail]=i;
            in[i] -= 2;
        }
    while (head_<=tail)
    {
        int now=Q[head_];
        for(int j=0; j < q[now].size(); j++)
        {
            int v = q[now][j];
            in[v]--;
            if (in[v] < 2 && in[v]>0)
            {
                in[v]-=2;
                Q[++tail]=v;
            }
        }
        head_++;
    }
}

int main()
{
    int T,m,a,b;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d%d",&n,&m);
        for(int i = 1; i <= n; i++)
            scanf("%d",&p[i]);
        memset(in,0,sizeof(in));
        memset(vis,0,sizeof(vis));
        for(int i = 1; i <= m; i++)
        {
            scanf("%d%d",&a,&b);
            q[a].push_back(b);
            q[b].push_back(a);
            in[a]++;
            in[b]++;
        }
        topsort();
        while(!que.empty())
            que.pop();
        ll all=0;
        for(int i = 1; i <= n; i++)
        {
            if(!vis[i] && in[i] >= 2)
            {
                ans = 0;
                num = 0;
                que.push(i);
                bfs();
                if(num %2 == 1)
                {
                    all += ans;
                }
            }
        }
        if(n==1)
            printf("0\n");
        else
            printf("%I64d\n",all);
        for(int i = 1; i <= n; i++)
        {
            q[i].clear();
        }
    }

    return 0;
}







Python实现商品价格监控与波动分析爬虫项目 本文通过完整的代码示例和详细的技术讲解,展示了如何实现商品价格的自动监控和波动分析。该项目不仅适用于个人购物助手,还可以扩展为商家的竞品监控工具。通过结合数据抓取、存储、分析与可视化,能够帮助我们更好地理解市场趋势并做出优化决策。 阅读详情

相关推荐

【SystemVerilog项目实践】4.AHB-SRAMC(验证计划)

验证计划

托马斯的博客 3659

HDU 5438--连通图

题意: 几个无向图,将各无向图删除子节点,将无向图变成连通图,并求出点数是奇数的连通图的节点的值的和。 输入: 1 7 7 1 2 3 4 5 6 7 1 4 1 5 4 5 2 3 2 6 3 6 2 7 输出: 21 分析: 代码: 小结:

shao1996的博客 466

hdu5438(拓扑排序)

题意:有n个池塘和m个管道;每个池塘的价值是v, 现在由于资金问题要删除池塘;但是删除的池塘必须是最多只连接一个管道,否则会爆炸; 求最后相连的池塘有奇数个的价值总和是多少; 代码: #include<iostream> #include <algorithm> #include <cmath> #include <cstdio> #inc...

qq_40859951的博客 366

电能质量仿真:电能质量改善措施仿真_(12).电能质量改善措施综合仿真案例

假设我们有一个微电网系统,该系统包含分布式电源(如光伏板、风力发电机)、储能设备、负荷和电网连接。电压波动:由于负荷的波动和分布式电源的间歇性输出,系统电压出现了不稳定的情况。谐波污染:非线性负荷和逆变器的运行导致系统中出现了显著的谐波污染。频率偏差:分布式电源的波动和负荷的突变导致系统频率出现了偏差。我们需要通过仿真来评估这些问题的影响,并提出相应的改善措施。

2401_87715305的博客 1359

【数据分析】基于多组学数据整合的微生物与宿主互作网络构建及可视化分析

综上所述,本教程通过详细的步骤和方法,展示了如何整合微生物群落数据、宿主基因表达数据和代谢组数据,构建微生物与宿主互作网络,并进行可视化分析。这种方法为研究微生物与宿主之间的复杂关系提供了一种有力的工具,有助于推动相关疾病的研究和治疗。然而,在实际应用中,需要注意数据处理和分析过程中的各种问题,并结合实验验证来提高研究结果的可靠性和科学性。未来,随着多组学技术的不断发展和完善,以及数据分析方法的创新,相信我们能够更深入地理解微生物与宿主之间的互作机制,为疾病的预防、诊断和治疗提供更有力的支持。

专注生信领域 367

Ponds HDU - 5438(拓扑排序+dfs)

题目大意 给出无向图,可以删除只有一个点相连的结点,然后剩下一些强连通分量,如果一个强连通分量中结点个数为奇数则把他们的价值加到ans中 思路 先用拓扑排序删点,把能删的点都删了,然后在跑dfs统计一个强连通中结点的个数。 代码 #include &lt;bits/stdc++.h&gt; using namespace std; typedef long long ll; const int m...

sunmaoxiang的博客 338

Android USB串口通信详解与实例

在Android开发中,USB串口通信是一个常见的需求,尤其是在与硬件设备进行交互时。通过USB串口,我们可以轻松地实现数据的发送与接收。本文将详细介绍如何使用库来实现Android设备与USB串口设备的通信。

m0_62153576的博客 677

HDU 5438拓扑+bfs或者dfs

HDU 5438题意:​ 有个人有p个池塘,每一个池塘有其价值,池塘之间有连接的管道,现在主人由于资金的问题,需要抛弃一些池塘,其特点是与之相邻的池塘只有一个,当然如果删除了一个池塘之后剩下的池塘仍然有类似的池塘还要接着删除。​ 删除之后,问连通图中池塘的个数为奇数个的连通图所有池塘的价值和。思路:​ 记录每一个池塘所连接的边,其实也就是入度,此题的边是双向的,所以直接记录即可。​

Since_natural_ran 416

ubuntu20.04搭建QGC4.2编译环境

QGC 4.2ubuntu18.04也可以编译QGC4.2,但是由于GLBC版本较低,无法使用最新版的QTCreator,Ubuntu20.04可以使用最新版QTCreator。

超维空间科技的博客 1万+

pcie硬件时序分析实战(PHY层眼图测量)​

PCIe高速接口的信号完整性(SI)直接影响系统带宽和稳定性。其中,​。

xiaoheshang_123的博客 858

hdu5438(拓扑排序+dfs)

借鉴了两位大佬的博客: https://www.cnblogs.com/cenariusxz/p/4806748.html http://blog.youkuaiyun.com/ac_gibson/article/details/48437831题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5438**题意:**p个顶点m条边的无向图,每个顶点有一个权值,现在

行云出岫 399

【深度学习新浪潮】Token经济学深度解析:从AI“新智元”梗到产业核心,研究成果+标杆产品全拆解

在正式深入研究和产品分析前,必须先破除概念误区:行业内常说的Token经济学,并非单一概念,而是分为AI词元Token经济学和Web3通证Token经济学两大核心分支,二者底层逻辑、应用场景天差地别,也是大众最容易混淆的点。Token是AI时代的新大宗商品:黄仁勋将Token类比为工业时代的电力、石油,是AI时代的核心生产资料与基础计价单位,不再是单纯的技术单元,而是具备标准化、可计量、可交易、可分层的数字商品,其价值由算力消耗、推理效率、实际应用价值共同决定,而非虚拟炒作。Token五层定价模型。

专注:太空算力、AI infra、异构调度、大模型成本工程 685

HDU 5438 Ponds【拓扑排序+BFS】

题目: Betty owns a lot of ponds, some of them are connected with other ponds by pipes, and there will not be more than one pipe between two ponds. Each pond has a value vv.  Now Betty wants to remove ...

二喵君的博客 264

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

hdu 5438 hdu 5438 Ponds(长春网络赛 拓扑+bfs)

Ponds Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 1046    Accepted Submission(s): 354 Problem Description Betty owns a

mengxiang000000 750

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

hdu 5438 Ponds(长春网络赛 拓扑+bfs)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5438 Ponds Time Limit: 1500/1000 MS (Java/Others)Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 2237Accepted Submission(s):...

weixin_30700977的博客 106

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

HDU 5438 Ponds(BFS+拓扑排序)【2015亚洲区长春站网赛B】

PondsTime Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 3615 Accepted Submission(s): 1083Problem Description Betty owns a lot of ponds, some

linlinsong—ACM界蒟水! 441

HDU 5438 Ponds

HDU 5438 Ponds #include #include #include #include #include #include #define maxn 10005 #define INF 0x3fffffff #define ll __int64 using namespace std; int du[maxn];//存储每个点的入度 int s[maxn]; //并查集根的存储 l

mitic的博客 434

HDU 5438 Ponds 拓扑序+并查集/DFS

就是给一个图,每个点有权值,边没有。然后会先依次删除度数 首先删点就是拓扑序来删,然后求连通块可以DFS或者BFS或者并查集都可以。 训练时刚结束后,队友改了改,过的,直接邻接表(当然是vector存),拓扑序+BFS求连通块过掉的。 嗯,然后,去网上学了一发链式前向星,然后并查集搞连通块的,但我不清楚那些人用了链式前向星了,还要用两个数组来保存所有的边在并查集的时候用,链式前向星就可以遍历

一蓑烟雨任平生 387

拓扑排序(栈模拟)+dfs(hdu 5438)

题目:http://acm.split.hdu.edu.cn/showproblem.php?pid=5438 题意:有一些带权的池塘,池塘间用管道连接,要求去掉剩下池塘中度数 题解:先利用拓扑方法,利用栈,将所有度数 代码: #include #include #include #include #include #include using namespace std; int va

M_GSir的博客 1061

hdu 5438 Ponds 2015长春网络赛 图论 dfs bfs

图论 用到了dfs bfs

ned_chu的博客 484

HDU 5438 Ponds 拓扑排序(实现持续删点)

Ponds Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 2861    Accepted Submission(s): 901 Problem Description Betty owns a lot of ponds, so...

pxlsdz的博客 644

HDU5438--Ponds (拓排+BFS)

点击打开链接 题意:给定n个池塘,m对池塘相连,现在要将与少于2个池塘相连的池塘拆除,形成森林,求节点数为奇数的树权值之和 思路:按照拓排的思想不断删除度数小于2的节点 #include using namespace std; typedef long long ll; const int N=1e4+5; vector G[N]; queue Q;//拓排队列 que

West___wind的博客 360

hdu 5438 ponds

题目链接:https://vjudge.net/problem/241635/origin 题目其实并不难,只要你不把它做成有向图的强连通就不难。 先拓扑排序,尽可能的删掉所有度唯一的点,再bfs或者是说再求无向图的强联通的奇数分量。 其实你要把它看成有向图的强连通求解却不拓扑排序(这样的情况下你只能通过跳过含1个点的联通分量来求解),有个问题无法解决,就是 一个点连着两个不为点的强连通分量...

DA_A_MAO的博客 290

HDU 5438 Ponds(2015ACM/ICPC长春网络赛B)

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=5438 【解题报告】 比赛的时候队友用并查集过的,对每个堆维护节点数量即可。但是比赛中对于删点操作调试了很久,最后还用了一个set来删边…… 赛后看题解,领悟到可以维护一个队列来进行删点操作,队列中的点的度均小于等于1,每次取出一个点删掉,和它相邻的点如果度变成了1,那么把这个点压

gungnir0711的博客 553
上一篇: hdu5444(模拟)
下一篇: hdu 5441 (并查集)
Tyuio28
博客等级 码龄11年 12粉丝 279原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值