POJ1273 Drainage Ditches (SAP+GAP)

centos7 python3.12.1 报错 No module named _ssl,坑我几个小时 网上的教程很多,但几乎是无效的,跟着我这教程,可以完美解决。 阅读详情

题目大意:每当下雨,农夫FJ最喜爱的养尊处优的地方周围就变成了一个池塘,这让他很不爽,所以决心要把这个问题解决掉,所以他就在四周建造了一些渠沟以便排水,更为巧妙地是可以把这水排到一个小溪处。编号为1的节点作为池塘,编号为n的地方作为小溪。求最大排水量

思路:赤裸裸的最大流。SPA+GAP再次撸过~~~要注意的是可能最大流会超int。还有的是:如果是拿邻接矩阵做的话要考虑重边问题(包含自环),但是邻接表的话什么鬼都不怕~~其实图论的特殊情况就是:重边(就是所谓的平行边,注意了最大流题目的平行边不能随便选择一条)、自环、负环、正环,以这些来设计数据的话,数据则会更有代表性~~嘻嘻

 

AC program:

#include<iostream>
#include<stdio.h> 
#include<string.h> 
#include<math.h>
#include<queue>  
#include<algorithm>
using namespace std;
#define inf 1000000000
#define maxn 201
#define maxm 40001//62500  
int num;
int n,m;
struct node
{
  int next,to;
  __int64 c;//note!!!       
}e[maxm]; 
int box[maxn];//链式前向星 
void init1()
{
    num=0;
    memset(box,-1,sizeof(box));
    int u,v,w;
    while(m--) 
    {
       scanf("%d%d%d",&u,&v,&w);
       e[num].to=v;
       e[num].c=w;
       e[num].next=box[u];
       box[u]=num;
       num++; 
       ///----
       e[num].to=u;
       e[num].c=0;
       e[num].next=box[v];
       box[v]=num;
       num++; 
       ///----       
    }       
        
}
__int64 sap(int start,int end,int nnn)//note!!!返回值 
{
  int numh[maxn],h[maxn],cur[maxn],pre[maxn];
  __int64 cur_flow,flow_ans=0;//note!!! 
  int u,tmp,neck,i;
  memset(h,0,sizeof(h)); 
   memset(numh,0,sizeof(numh));
        memset(pre,-1,sizeof(pre));
  for(int i=1;i<=nnn;i++)
     cur[i]=box[i];
  numh[0]=nnn;
  u=start;
  while(h[start]<nnn)
  {
      if(u==end)
      {
          cur_flow=inf;//note!!! 
          for(i=start;i!=end;i=e[cur[i]].to)
          {
              if(cur_flow>e[cur[i]].c)
              {
                neck=i;
                cur_flow=e[cur[i]].c;                        
              }                                  
          }
          for(i=start;i!=end;i=e[cur[i]].to)
          {
            tmp=cur[i];
            e[tmp].c-=cur_flow;
            e[tmp^1].c+=cur_flow;                                  
          }
          flow_ans+=cur_flow;
          u=neck;          
      }
      for(i=cur[u];i!=-1;i=e[i].next)
          if(e[i].c&&h[u]==h[e[i].to]+1) 
             break;
      if(i!=-1)
         {
               
           cur[u]=i;
           pre[e[i].to]=u;
           u=e[i].to;      
         }
      else
          {
            if(0==--numh[h[u]])break;
            cur[u]=box[u];
            for(tmp=nnn,i=box[u];i!=-1;i=e[i].next)
                if(e[i].c)
                    tmp=min(tmp,h[e[i].to]);
            h[u]=tmp+1;
            ++numh[h[u]];
            if(u!=start)u=pre[u];                 
                           
          } 
                                       
                        
  } 
  return flow_ans; 
} 
int main()
{
while(scanf("%d%d",&m,&n)!=EOF)
{
    init1();
    __int64 love;
    love=sap(1,n,n);//n个点 
    printf("%I64d\n",love);   //note!!!还有输出限制                                     
} 
//system("pause"); 
return 0;} 


 

 

手把手教你用HiNet实现图像隐藏:可逆神经网络实战指南(附代码) 本文提供了一份基于HiNet框架实现图像隐藏的实战指南。通过详细解析可逆神经网络原理,手把手指导环境搭建、模型构建、损失函数设计及训练流程,并附有完整代码。该方法利用单个可逆网络统一隐藏与恢复过程,结合小波变换提升隐蔽性,为信息隐藏应用提供了高效解决方案。 阅读详情

相关推荐

零基础实战:YOLO检测头自定义替换全攻略

本文为零基础用户提供了YOLO检测头自定义替换的完整实战指南。通过将检测头比作汽车的“方向盘”,文章详细阐述了为何需要替换、如何寻找和集成新检测头模块、修改配置文件以及最终训练验证的全过程,旨在帮助用户针对特定任务(如小目标检测)提升模型性能。

perl8的博客 255

poj-1273-Drainage Ditches-一般预流推进算法-最高标号预流推进算法-sap+gap优化

一般预流推进法模版 #include #include #include #include #include using namespace std; #define INF 99999999 const int maxn =250; const int maxm =250; const int oo = 0x7fffffff; struct push_relablel//一般预流推进

青竹梦 2935

【从零开始学Skynet】基础篇(一):Skynet环境搭建

Skynet运行于Linux操作系统,我们可以在自己的电脑上搭建虚拟机系统,也可以购买阿里云、腾讯云服务器,笔者这个系列的所有代码都是在Ubuntu16.04版本的虚拟机系统下运行编辑。

我是一条寻水的鱼 3167

poj 1273 Drainage Ditches(网络流基础)

http://poj.org/problem?id=1273 增广路算法。 Ford_Fullkerson 1 /* 2 Author:Zhaofa Fang 3 Lang:C++ 4 */ 5 #include <cstdio> 6 #include <cstdlib> 7 #include <iostre...

diaoqisi8354的博客 129

coze开发-5、给智能体添加“技能”

中间编排与技能组件 中间编排的定义 中间编排是指在智能体的构建过程中,使用一些工具对智能体进行协调和管理。通过这些工具,我们能够更好地实现智能体在特定业务场景中的应用。

andyyah晓波的博客 527

水下探测小白必看:单波束vs多波束声呐,5分钟搞懂核心区别

本文为水下探测新手清晰解析了单波束与多波束声呐的核心区别。单波束声呐如同精准的“手电筒”,进行逐点扫描,适用于定点测深和目标探测;而多波束声呐则像“聚光灯”,能一次性覆盖一个扇区,高效获取海底地形三维信息,是海底测绘和水下三维建模的理想选择。文章通过生动的比喻和对比表格,帮助读者快速理解两者原理、效率差异及适用场景。

linux6sysadmin的博客 1048

POJ1273 Drainage Ditches【最大流】【SAP】

题目大意: 农民John的田里有M个池塘和N条水沟用来排水,池塘编号为1~M,1号池塘是所有水沟的源点, M号池塘是水沟的汇点。给你N条水沟所连接的池塘和所能流过的水量,求整个水沟从源点到汇点 最多能流多少水。 思路: 很明显的求网络流最大流问题。用链式前向星(邻接表)来存储网络,这样就不用考虑重边问题了。这 里的重边其实就是平行边。用SAP算法+GAP优化来求最大流就可以了。SAP+GAP模板参考我的另 一篇博文:http://blog.youkuaiyun.com/lianai911/article/detail

程序员充电站(itcharge) 1332

RKNN 端侧部署必看:YOLOv11 Pose 姿态估计模型转换与性能优化实战

随着人工智能技术在边缘计算领域的快速发展,姿态估计作为计算机视觉的重要分支,在智能监控、人机交互、体感游戏等场景中展现出巨大的应用潜力。本文深入研究了YOLOv11 Pose模型在Rockchip RKNN平台上的部署方案,从理论基础、模型转换、平台优化到实际部署进行了全面阐述。通过详细的技术分析和实验验证,证明了RKNN平台能够有效提升YOLOv11 Pose的推理性能,在RK3588硬件平台上实现了高达100 FPS的实时姿态检测,为边缘计算场景下的姿态估计应用提供了高效的解决方案。

m0_71589036的博客 183

poj 1273 Drainage Ditches

模板水题一枚。 题意:Farmer建了水渠排水,并且控制了每条水渠的上限。求最大流。 贴个代码意思意思吧。 View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 #include<algorithm> 5 #incl...

aizhengcuo9261的博客 108

C# 上位机程序中的数据采集与存储技术:从采集到持久化的完整解决方案

本文系统讲解C#上位机程序如何实现设备数据采集与持久化。主要内容包括:1)多种数据采集方式(串口通信、Modbus、OPC等)及代码示例;2)详细对比不同存储技术(CSV、SQLite、关系型数据库等)的优缺点;3)提供SQLite等存储实现代码;4)推荐分层系统架构(采集-缓存-存储-可视化);5)性能优化建议(多线程采集、异步存储、批量写入等)。文章强调应根据项目需求选择合适的技术方案,构建高效稳定的数据采集存储闭环系统。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1025

车载以太网网络测试-24【SOME/IP概述】

SOME/IP**(Scalable Service-Oriented Middleware over IP)是一种基于IP网络的面向服务的通信协议,专为汽车电子系统设计,支持服务发现、远程过程调用(RPC)和事件通知等功能。核心标准是由 AUTOSAR(汽车开放系统架构)定义,现已成为车载通信的重要标准之一(如AUTOSAR 4.0+)。SOME/IP的全称是,它是一种基于IP网络的面向服务的通信协议,广泛应用于汽车电子(AUTOSAR)和物联网领域。Scalable(可扩展的)含义。

车载网络测试工程师的博客 2192

POJ-1273 Drainage Ditches【最大流】

题目链接:http://poj.org/problem?id=1273 题目大意: 有一个水塘,一个大海,要把水塘里的水尽可能多的排到大海里。当然,要通过一些水渠,这些水渠有一定的容量限制。 问最多能有多少水能流到大海里。 解题思路: 最大流的入门题。看了一上午就做了出来,很简单其实。。。用的BFS和Ford_Fulkerson算法。网上资料很多,大概看看应该就理解了。网络流开始还是很是

飘过的小牛 1547

【面试系列】数据分析师高频面试题及详细解答

本文为数据分析师岗位提供了详尽的面试题库和解答,涵盖初级、中级和高级三个层次。初级面试题涉及基本的数据处理和统计分析知识,如SQL查询、数据清理和基础统计概念。中级面试题则重点考察数据可视化、复杂查询和数据建模等技能。高级面试题则深入探讨高级统计方法、大数据处理和高级分析工具的使用。通过这些问题和解答,候选人可以全面了解数据分析师岗位所需的技能,帮助其更好地准备面试。常考知识点总结部分则系统归纳了数据分析师岗位的关键技能领域。

在路上的专栏 5228

POJ 1273 Drainage Ditches 最大流

Drainage Ditches Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 63802   Accepted: 24628 Description Every time it rains on Farmer John's fields, a pond form

阑珊记忆 429

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

poj 1273Drainage Ditches

最大流 #include #include #include using namespace std; const int MAXN=20010;//点数的最大值 const int MAXM=880010;//边数的最大值 const int INF=0x3f3f3f3f; struct Node { int from,to,next; int cap; }edge[M

Just for you 824

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

POJ 1273 Drainage Ditches

题目大意: 注释代码: 无注释代码: 单词解释: drainage:n, 排水,排污,排水系统 ditch:n, 沟渠 augmentation:n, 增广 pond:n, 池塘 Bessie:人名,贝西 clover:n, 三叶草 patch:n, 小块土地,眼罩 regrow:vt, 再生,重新长出 drain:vt, 排水(排出),喝光,耗尽 nearby:adj,

源代码 613

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

poj-1273 Drainage Ditches 最大流

/* http://poj.org/problem?id=1273 裸最大流 */ //EK算法 #include "stdio.h" #include "queue" using namespace std; const int maxn = 205; int map[maxn][maxn],path[maxn]; //邻接数组 前驱数组 int n,m; bool E

菜鸟成长ing 906

POJ-1273-Drainage Ditches(最大流)dinic实现 后续模板待补充

Sample Input 5 4 1 2 40 1 4 20 2 4 20 2 3 30 3 4 10 Sample Output 50 #include #include #include #include #include #include #include #include #include #include #include #include us

不会吃鱼的喵 361

POJ1273 USACO 4.2.1 Drainage Ditches CodeVS1993草地排水 网络流 最大流 SAP

欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 传送门 - POJ 传送门 - CodeVS 题意概括 给出一个图,告诉你边和容量,起点是1,汇点是n,让你求最大流。 题解   最大流模板题。   SAP跑一发!   学习网络流 代码 #include <cstring> #includ...

weixin_30492047的博客 173

POJ3259 Wormholes(虫洞)(Bellman-floyd法解决)

题目大意:农夫FJ喜欢在自己的农场里面玩穿越,而虫洞-----就是就是一种是时间倒退的时光机(单向的)(A wormhole is very peculiar because it is a one-way path that delivers you to its destination at a time that is BEFORE you entered the wormhole!)  但

muxi@Achilles的专栏 2136

POJ2773 HAPPY 2006(不能对LL大方之战)

题目大意:就是求m的第k个(升序)与m互质的数。 思路:看了discuss才知道欧拉函数 的一个性质可以解决这道题:就是如果在[1,m]之间有cnt个数和m互质,即欧拉函数为cnt,那么在[n*m+1,(n+1)*m](n为正整数)区间内的欧拉函数也为cnt,即是有循环节。这就好办了,循环节最大才为100万,那么找到k/cnt这个区间,就可以枚举求得第K个数了。不过我写的实在很猥琐,1670ms

muxi@Achilles的专栏 1739

POJ1511 SPFA经典题目

Orz,做这道题对我这个初学者来说真是呕心沥血了!写了一上午,然后调试了一下午。然后WA了3次!哇靠,就是因为坑爹的POJ数据,题目明白说了price的sum不会超int的 但最后还是要用long long 才过!奶娘的! 在这里感谢羽哥的数据还有long long的提醒。   题目大意:发传单!怎么样选择路线 使得Acmers们在去  和回的过程 花掉的车费最少。 思路:因为每个人负责一

muxi@Achilles的专栏 1686

POJ2042 Lagrange's Four-Square Theorem

题目大意:拉格朗日定理:每个自然数均可以表示成4个正整数的平方数之和。下面这一句,不知所云:3个平方数之和不能表示形式如4^k(8n+ 7)的数。 如果在一个正整数的因数分解式中,没有一个数有形式如4k+3的质数次方,该正整数可以表示成两个平方数之和。     思路:暴力枚举,但是不必为每个n来验证,而是让四个数滚动起来,只要小于2^15的就可以保存并在此基础上统计个数,然后打个表~~撸过~~

muxi@Achilles的专栏 1586

POJ3259 Wormholes(虫洞)(SPFA解决)

题目大意&&思路:农夫玩穿越,找负环经典问题, 思路一:SPFA轻松撸过:原理:某一个节点入队n次的话则存在负环。(200ms) 思路二:Bellman-floyd 也OK:http://blog.youkuaiyun.com/kg_second/article/details/7888273   (其实在这道题思路二更快125ms,SPFA在数据大的时候才霸气尽出)   AC program: #

muxi@Achilles的专栏 1491

2013省赛前夕碎碎结

2013 10 8 poj3349(数字哈希的运用) /* 题目大意:就是在给出的雪花当中判断有没有至少一样的一对雪花。 利用哈希找出少数总和长度相等的雪花,然后在通过顺时针和逆时针枚举6^2长度的雪花 进行比较看雪花是否相等即可 思路:在10W片雪花中直接比较雪花明显不可,但是经过哈希之后可以边插入边比较。 */ #include using namespace std;

muxi@Achilles的专栏 1435

POJ2488 A Knight's Journey(DFS)

题目大意:问一个骑士能否不重复地踏遍整个棋盘。 思路:因为输出有一个坑爹的要求:Then print a single line containing the lexicographically first path that visits all squares of the chessboard with knight moves followed by an empty line.

muxi@Achilles的专栏 1430
上一篇: POJ1459 Power Network (SAP+GAP优化)
下一篇: POJ3281 Dining (SAP+GAP)
muximuxi525
博客等级 码龄15年 134粉丝 294原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值