Hoj2739

poj 2404 floyd+状态压缩(中国邮递员问题) 题意:经典中国邮递员问题。 阅读详情
【题目大意】
带权有向图上的中国邮路问题:一名邮递员需要经过每条有向边至少一次,最后
回到出发点,一条边多次经过权值要累加,问最小总权值是多少。(2 <= N <= 100,
1 <= M <= 2000)
【建模方法】
若原图的基图不连通,或者存在某个点的入度或出度为 0 则无解。统计所有点的
入度出度之差 Di,对于 Di > 0 的点,加边(s, i, Di, 0);对于 Di < 0 的点,加边(i, t, -Di,
0);对原图中的每条边(i, j),在网络中加边(i, j, ∞, Dij),其中 Dij 为边(i, j)的权值。

求一次最小费用流,费用加上原图所有边权和即为结果。

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#include<vector>
using namespace std;
const int maxn = 100+10;
const int N = 100+10;
const int INF = 0x3f3f3f3f;
int n,m;
struct Edge
{
    int from,to,cap,flow,cost;
    Edge(int u,int v,int ca,int f,int co):from(u),to(v),cap(ca),flow(f),cost(co){};
};

struct MCMF
{
    int n,m,s,t;
    vector<Edge> edges;
    vector<int> G[N];
    int inq[N];//是否在队列中
    int d[N];//距离
    int p[N];//上一条弧
    int a[N];//可改进量

    void init(int n)//初始化
    {
        this->n=n;
        for(int i=0;i<n;i++)
            G[i].clear();
        edges.clear();
    }

    void addedge(int from,int to,int cap,int cost)//加边
    {
        edges.push_back(Edge(from,to,cap,0,cost));
        edges.push_back(Edge(to,from,0,0,-cost));
        int m=edges.size();
        G[from].push_back(m-2);
        G[to].push_back(m-1);
    }

    bool SPFA(int s,int t,int &flow,int &cost)//寻找最小费用的增广路,使用引用同时修改原flow,cost
    {
        for(int i=0;i<n;i++)
            d[i]=INF;
        memset(inq,0,sizeof(inq));
        d[s]=0;inq[s]=1;p[s]=0;a[s]=INF;
        queue<int> Q;
        Q.push(s);
        while(!Q.empty())
        {
            int u=Q.front();
            Q.pop();
            inq[u]--;
            for(int i=0;i<G[u].size();i++)
            {
                Edge& e=edges[G[u][i]];
                if(e.cap>e.flow && d[e.to]>d[u]+e.cost)//满足可增广且可变短
                {
                    d[e.to]=d[u]+e.cost;
                    p[e.to]=G[u][i];
                    a[e.to]=min(a[u],e.cap-e.flow);
                    if(!inq[e.to])
                    {
                        inq[e.to]++;
                        Q.push(e.to);
                    }
                }
            }
        }
        if(d[t]==INF) return false;//汇点不可达则退出
        flow+=a[t];
        cost+=d[t]*a[t];
        int u=t;
        while(u!=s)//更新正向边和反向边
        {
            edges[p[u]].flow+=a[t];
            edges[p[u]^1].flow-=a[t];
            u=edges[p[u]].from;
        }
        return true;
    }

    int MincotMaxflow(int s,int t)
    {
        int flow=0,cost=0;
        while(SPFA(s,t,flow,cost));
        return cost;
    }
}mcmf;
int in[maxn],out[maxn];
int main()
{
    int cases,n,m,u,v,w;
    scanf("%d",&cases);
    while(cases--)
    {
        memset(in,0,sizeof(in));
        memset(out,0,sizeof(out));
        scanf("%d%d",&n,&m);
        mcmf.init(n+5);
        int tot = 0;
        for(int i=0;i<m;i++)
        {
            scanf("%d%d%d",&u,&v,&w);
            tot += w;
            in[v]++; out[u] ++;
            mcmf.addedge(u,v,INF,w);
        }
        int flag = 1;
        int s = n; int t = s+1;
        for(int i=0;i<n;i++)
        {
            if(in[i]==0||out[i]==0){flag=0;break;}
            int tt = in[i]-out[i];
            if(tt>0) mcmf.addedge(s,i,tt,0);
            else if(tt<0) mcmf.addedge(i,t,-tt,0);
        }
        if(!flag){printf("-1\n"); continue;}
        int ans = mcmf.MincotMaxflow(s,t);
        printf("%d\n",ans+tot);
    }
    return 0;
}


工业缺陷检测:RAGA剪枝与INT8量化在边缘设备的实践 计算机视觉中的模型轻量化是工业缺陷检测的核心挑战之一,尤其在边缘设备部署时需平衡算力成本与检测精度。通过剪枝和量化技术,可以有效减少模型参数量并提升推理速度,同时保持较高的mAP精度。RAGA剪枝算法结合自适应遗传算法和多目标优化,能在减少参数量的同时提升模型精度。INT8量化则进一步加速推理并降低功耗,特别适合NPU加速。这些技术在工业视觉领域具有广泛应用,如3C产品缺陷检测,能大幅降低设备成本并提升产线部署规模。本文通过实际案例展示了如何在100元的RK3566开发板上实现30FPS的高精度检测,为工业 阅读详情

相关推荐

【总结】网络流建模汇总-泛做&补充

网络流建模汇总

远行客 921

计蒜客·中国邮递员问题

【DFS】·中国邮递员问题 初见安~本题出自计蒜客。 Description 一个邮递员从邮局出发,需要去 n - 2个城市送信,送完信件以后回家。 邮局在城市 1,家在城市 n,任意两个城市之间都有道路,但是这些道路是单向,也就是说 a 到 b 和 b 到 a 的路径长度不一定是一样的。 他必须经过每个城市一次,并且不能重复经过,最后回到家里。 现在要求你计算他需要经过的路径总和的最小长度。 I...

樱狸✨愿携清风归来处 2216

【优化模型】行遍性问题 — 中国邮递员问题

1、欧拉图 2、中国邮递员问题定义 邮递员发送邮件时,要从邮局出发,经过他投递范围内的每条街道至少一次,然后返回邮局,但邮递员希望选择一条行程最短的路线.这就是中国邮递员问题. 若将投递区的街道用边表示,街道的长度用边权表示,邮局街道交叉口用点表示,则一个投递区构成一个赋权连通无向图.中国邮递员问题转化为:在一个非负加权连通图中,寻求一个权最小的巡回.这样的巡回称为最佳巡回. 3、中国邮递员问题-算法 G是欧拉图 此时G的任何一个欧拉巡回便是最佳巡..

Fanjufei的博客 1566

数据结构——中国邮路问题

对于中国邮路问题的研究和代码实现,供自己复习。

m0_66821676的博客 2980

中国邮递员问题matlab

中国邮递员问题matlab的程序代码,并画出最终图形

HOJ题目备份,值得拥有

HOJ题目备份

HOJ 2739 网络流【带权有向图上的中国邮路问题】

带权有向图上的中国邮路问题 #include #include #include #include using namespace std; typedef long long LL; const int MAXN=110,M=400000, inf=0x3f3f3f3f; int head[MAXN]; struct edge{ int to,next,cost,from; }e[M];

chm517的专栏 1352

ICG setup timing violation介绍?

门控时钟(clock gating)在RTL级电路设计过程中进行低功耗优化常用方法,能够有效降低动态功耗(翻转功耗)。Clock gating cell 可以由与门,与非门,或门或者或非门构成,但很容易产生Glitch。在实际使用中,一般用ICG(集成门控时钟单元)来完成clock gating。 下图展示了glitch的产生原因 在CTS时钟树综合的时候,ICG不会被看作sink,通常放置在source点附近,因此就会出现如上图这种结果。上图可以看出,在分析DFF到ICG的setup timing

m0_61003348的博客 9811

HOJ2739-the Chinese Postman Problem

#include #include #include #include #include using namespace std; const int NN=250; const int MM=200000; const int INF=0x3fffffff; int n,m,en,sum,S,T,NV,head[NN],in[NN],out[NN]; struct Edge {

Wo xi Meiz 1137

将机器人urdf模型转换为Mujoco环境下的mjcf模型

在使用gym环境进行人形模型站立训练的过程中,我想要将之前ros环境下的机器人urdf模型导入到mujoco环境下,这时候就需要将urdf模型转换为mujoco专用的mjcf模型。-AzureLoong.urdf是机器人模型(我这里使用青龙的模型);--custom_robot.xml是转换完成之后的机器人模型的名字和格式;包要求 Python 版本必须是 3.11 或更高),保证自己的其他训练环境和依赖不被干扰。首先将meshes文件迁移到需要输出的目录下,然后再运行转换命令。最后就可以成功输出了。

weixin_44334573的博客 3760

电力现货市场出清机制解析:从理论到实践(附节点电价计算实例)

本文深入解析电力现货市场的核心出清机制,重点阐述了节点边际电价的计算原理与实践方法。通过对比系统边际电价、节点边际电价和分区边际电价三种模式,揭示了市场出清价格如何反映电力供需与网络阻塞。文章结合IEEE 30节点系统,提供了基于MATLAB和最优潮流模型的计算实例,详细展示了从构建模型到求解对偶变量以获取节点电价的全过程,为理解电力市场定价机制提供了从理论到实践的完整路径。

whisky的博客 757

HOJ 2739 The Chinese Postman Problem

题目链接 带权有向图上的中国邮路问题:一名邮递员需要经过每条有向边至少一次,最后回到出发点,一条边多次经过权值要累加,问最小总权值是多少。 首先,每条边进过一次的话我们就先统计所有边sum值,然后就是判断哪些边重复走了。 统计所有点的入度与出度,设i点入度与出度的差为di; 如果di>0,addedge(s,i,di,0),即要走多di次去覆盖 如果di 然后就是对于原来的边a

Mr_Xujh的博客 913

别再乱拖了!Godot 4.x 场景编辑器的7个隐藏操作技巧(附快捷键清单)

本文揭示了Godot 4.x场景编辑器的7个隐藏操作技巧,包括智能对齐、轴心点应用、多节点批量操作等,帮助开发者提升游戏开发效率。特别介绍了坐标系切换和自定义快捷键等实用功能,适用于处理复杂场景和团队协作。

weixin_29534421的博客 362

HOJ 2739 The Chinese Postman Problem 带权有向图上的中国邮路问题

【题目大意】  带权有向图上的中国邮路问题:一名邮递员需要经过每条有向边至少一次,最后回到出发点,一条边多次经过权值要累加,问最小总权值是多少。(2 【建模方法】  若原图的基图不连通,或者存在某个点的入度或出度为0则无解。统计所有点的入度出度之差Di,对于Di > 0的点,加边(s, i, Di, 0);对于Di 若进一步要求输出最小权值回路,则对所有流量fij > 0的边(i, j

Little_boy_z的博客 1428

超酷炫,Python实现交通数据可视化!

此时输出的栅格化参数params的内容存储了栅格坐标系的原点坐标(slon、slat)、单个栅格的经纬度长宽 (deltalon、deltalat)、栅格的旋转角度(theta)、栅格的形状(method参数,其值可以是方形rect、三角形tri和六边形hexa)以及栅格的大小(gridsize参数,单位为米)。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。今天分享一次Python交通数据分析与可视化的实战!

m0_59236127的博客 1697

Halcon 色彩标定:RGB空间下实现白平衡与CCM矩阵合成静态HDR图像

摘要 本文介绍了一种基于Halcon的色彩校正方法,结合白平衡与灰轴约束最小二乘法实现精准颜色还原。方法分为三步:1)自动定位色卡区域并提取灰阶块计算白平衡增益;2)通过前三列色块建立测量值与标准值的映射关系;3)引入灰轴约束条件求解色彩校正矩阵(CCM),确保中性灰区域不偏色。算法采用中位数计算白平衡增益以提高鲁棒性,并通过旋转校正处理色卡倾斜问题。实验表明,该方法能有效消除相机采集的系统色偏,适用于颜色测量、表面检测等机器视觉场景。文末提供了完整代码实现。

LIN943168247的博客 406

HOJ 2739 般图的最小权完美匹配 【未完成】!!!!!!!!!!!!!!!!!!

a

chm517的专栏 823

RT-DETR改进策略【RT-DETR和Mamba】| CVPR 2025:EfficientViM 压缩隐藏状态空间进行通道混合、单头设计减少内存操作,提升目标检测效率与精度

本文记录的是利用模块优化的目标检测网络模型。EfficientViM Block(基于隐藏状态混合器的状态空间对偶性模块) 的设计旨在,提升特征提取效率,同时兼顾全局依赖捕捉与局部细节保留。本文将深入研究的原理,并将其应用到中,通过重构特征提取流程、减少内存绑定操作、融合多阶段特征,增强模型在资源受限环境下的检测性能与速度。Depth Information Assisted Collaborative Mutual Promotion Network for Single Image DehazingLE

Limiiiing的博客 921

网络流题目集锦

最大流 POJ 1273 Drainage Ditches POJ 1274 The Perfect Stall (二分图匹配) POJ 1698 Alice's Chance POJ 1459 Power Network POJ 2112 Optimal Milking (二分

魔神翼 899

Python爬虫实战:利用最新技术爬取抖音话题挑战视频

本文将详细介绍如何使用Python最新技术栈构建一个高效的抖音话题挑战视频爬虫。我们将从环境配置开始,逐步讲解请求模拟、数据解析、反反爬策略、数据存储等关键环节,并提供完整的代码实现。本文适合有一定Python基础的开发者学习高级网络爬虫技术。关键词:Python爬虫、抖音API、话题挑战、视频爬取、反反爬本文详细介绍了如何使用Python最新技术栈构建抖音话题挑战视频爬虫。我们从基础请求开始,逐步实现了数据解析、反反爬策略、数据存储等核心功能,并探讨了分布式和增量爬取等高级主题。更智能的反反爬策略。

2201_76125261的博客 1744

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

网络流题目集锦(转)

最大流POJ 1273 Drainage DitchesPOJ 1274 The Perfect Stall (二分图匹配)POJ 1698 Alice's ChancePOJ 1459 Power NetworkPOJ 2112 Optimal Milking (二分)POJ 2455 Secret Milking Machine (二分)POJ 3189 Steady Cow Ass...

weixin_30455067的博客 196

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

网络流题目集锦(转)

网络流题目集锦(转) 最大流POJ 1273 Drainage DitchesPOJ 1274 The Perfect Stall (二分图匹配)POJ 1698 Alice's ChancePOJ 1459 Power NetworkPOJ 2112 Optimal Milking (二分)POJ 2455 Secret Milking Machine (二分)POJ 3189 Steady ...

weixin_33796205的博客 175

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: poj3680(费用流)
下一篇: spoj371(费用流)
constbh
博客等级 码龄10年 10粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值