Grouping ZOJ - 3795

本文详细介绍了如何使用缩点技术寻找有向图中的最长链。通过Tarjan算法进行强连通分量的分解,将原图压缩为缩点图,并在此基础上应用深度优先搜索算法,找出缩点图中的最长路径,最终实现对原图中节点间最长链的求解。

题意:缩点找最长链

#include <bits/stdc++.h>

using namespace std;
#define N 100005
int dp[N],vis[N],f[N];
vector<int>path[N],son[N];
stack<int>q;
int dep[N],low[N],tot,cnt;
void tarjan(int u)
{
    dep[u]=low[u]=vis[u]=++tot;
    q.push(u);
    for(int i=0;i<path[u].size();i++){
        int to=path[u][i];
        if(!dep[to]){
            tarjan(to);
            low[u]=min(low[u],low[to]);
        }
        else if(vis[to])low[u]=min(low[u],dep[to]);
    }
    if(dep[u]!=low[u])return;
    cnt++;
    while(1){
        int to=q.top();q.pop();
        f[to]=cnt;
        son[cnt].push_back(to);
        vis[to]=0;
        if(to==u)break;
    }
}
int dfs(int x)
{
    if(vis[x])return dp[x];
    vis[x]=1;
    for(int i=0;i<son[x].size();i++)
        for(int j=0;j<path[son[x][i]].size();j++)
            dp[x]=max(dp[x],dfs(f[path[son[x][i]][j]]));
    return dp[x]+=son[x].size();
}
void init(int n){
    for(int i=1;i<=n;i++)dp[i]=0,path[i].clear(),vis[i]=0,dep[i]=0,son[i].clear();
    tot=cnt=1;
}
int main()
{
    int m,n,u,to;
    while(scanf("%d %d",&n,&m)!=EOF){
        init(n);
        while(m--){
            scanf("%d %d",&u,&to);
            if(u!=to)path[u].push_back(to);
        }
        int ans=1;
        for(int i=1;i<=n;i++)
            if(!dep[i])tarjan(i);
        for(int i=1;i<=n;i++)
        {
            if(!vis[f[i]])dfs(f[i]);
            ans=max(ans,dp[f[i]]);
        }
        printf("%d\n",ans);
    }
    return 0;
}

 

下载方式:https://pan.quark.cn/s/a4b39357ea24 在纺织制造领域中,纱线的品质水平对最终制成品的整体质量具有决定性作用。 鉴于消费者对于产品规格和样式要求的不断变化,纺织制造工艺的执行过程日益呈现为一种更为复杂的操作体系,进而导致对纱线质量进行预测的任务变得更加困难。 在众多预测技术中,传统的预测手段在面对多变量间相互交织的复杂关系时,往往显得力不从心。 因此,智能计算技术在预测纱线质量的应用场景中逐渐占据核心地位,其中人工神经网络凭借其卓越的非线性映射特性以及自适应学习机制,成为了众多预测方法中的一种重要选择。 在智能计算技术的范畴内,粒子群优化算法(PSO)和反向传播神经网络(BP神经网络)是两种被广泛采用的技术方案。 粒子群优化算法是一种基于群体智能理念的优化技术,它通过模拟鸟类的群体觅食行为来寻求最优解,该算法因其操作简便、执行高效以及具备优秀的全局搜索性能,在函数优化、神经网络训练等多个领域得到了普遍应用。 反向传播神经网络则是一种由多层节点构成的前馈神经网络,它通过误差反向传播的机制来实现网络权重和阈值的动态调整,从而达成学习与预测的目标。 在实际操作层面,反向传播神经网络因其架构设计简洁、实现过程便捷,因此被广泛部署于各类预测和分类任务之中。 然而,该方法也存在一些固有的局限性,例如容易陷入局部最优状态、网络收敛过程缓慢等问题。 而粒子群优化算法在参与神经网络优化时,能够显著增强神经网络的全局搜索性能并提升收敛速度,有效规避神经网络陷入局部最优的困境。 将粒子群优化算法与反向传播神经网络相结合形成的PSO-BP神经网络,通过运用粒子群优化算法对反向传播神经网络的权值和阈值进行精细化调整,能够在预测纱线断裂强度方面,显著提升预测结果的...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值