[网络流] Topcoder SRM556DIV. OldBridges

Megalinter 初体验 MegaLinter 是一个多语言、多工具的集成代码检查工具,它能够通过一个统一的工作流来运行多个静态代码分析工具,从而提供全面的代码质量检查。 阅读详情

只有一个人的时候,可以把图建出来看是否满流

但是两个人的时候会出现特殊情况

这里写图片描述

把b1和b2反过来在跑一遍就好了

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <vector>
#include <queue>

using namespace std;

const int N=10010,inf=1<<29;

int n,cnt,S,T,cur[N],G[N];
struct edge{
  int t,nx,f;
}E[N<<1];

inline void addedge(int x,int y,int f){
  E[++cnt].t=y; E[cnt].nx=G[x]; G[x]=cnt; E[cnt].f=f;
  E[++cnt].t=x; E[cnt].nx=G[y]; G[y]=cnt; E[cnt].f=0;
}

inline void Pre(vector<string> b){
  cnt=1; T=n+1;
  memset(G,0,sizeof(G));
  for(int i=1;i<=n;i++)
    for(int j=1;j<=n;j++)
      if(b[i-1][j-1]=='O') addedge(i,j,2);
      else if(b[i-1][j-1]=='N') addedge(i,j,inf);
}

queue<int> Q;
int dis[N];

inline bool bfs(){
  for(int i=S;i<=T;i++) dis[i]=-1;
  while(!Q.empty()) Q.pop();
  Q.push(S); dis[S]=0;
  while(!Q.empty()){
    int x=Q.front(); Q.pop();
    for(int i=G[x];i;i=E[i].nx)
      if(E[i].f && !~dis[E[i].t]){
    dis[E[i].t]=dis[x]+1;
    if(E[i].t==T) return true;
    Q.push(E[i].t);
      }
  }
  return false;
}

int dfs(int x,int f){
  if(x==T || !f) return f;
  int used=0,w;
  for(int &i=cur[x];i;i=E[i].nx)
    if(E[i].f && dis[E[i].t]==dis[x]+1){
      w=dfs(E[i].t,min(f-used,E[i].f));
      E[i].f-=w; E[i^1].f+=w;
      if((used+=w)==f) return used;
    }
  if(!used) dis[x]=-1;
  return used;
}

class OldBridges{
public:
  string isPossible(vector<string> bridges, int a1, int a2, int an, int b1, int b2, int bn){
    n=bridges.size(); a1++; a2++; b1++; b2++;
    Pre(bridges);
    addedge(S,a1,2*an); //addedge(a1,S,0);
    addedge(a2,T,2*an); //addedge(T,a2,0);
    addedge(S,b2,2*bn); //addedge(b2,S,0);
    addedge(b1,T,2*bn); //addedge(T,b1,0);
    int flow=0;
    while(bfs()){
      for(int i=S;i<=T;i++) cur[i]=G[i];
      flow+=dfs(S,inf); 
    }
    if(flow!=2*(an+bn)) return "No";
    Pre(bridges);
    addedge(S,a1,2*an); //addedge(a1,S,0);
    addedge(a2,T,2*an); //addedge(T,a2,0);
    addedge(S,b1,2*bn); //addedge(b1,S,0);
    addedge(b2,T,2*bn); //addedge(T,b2,0);
    flow=0;
    while(bfs()){
      for(int i=S;i<=T;i++) cur[i]=G[i];
      flow+=dfs(S,inf);
    }
    if(flow!=2*(an+bn)) return "No";
    return "Yes";
  }
}Main;

int main(){
  vector<string> b=
    {"XXNXXX",
     "XXNXXX",
     "NNXOXX",
     "XXOXNN",
     "XXXNXX",
     "XXXNXX"};
  int a1=0;
  int a2=4;
  int an=1;
  int b1=1;
  int b2=3;
  int bn=1;
  cout<<Main.isPossible(b,a1,a2,an,b1,b2,bn);
  for(;;);
}
NE555构成多谐振荡器及三角波、正弦波的生成(附工程文件) NE555构成多谐振荡器及三角波、正弦波的生成 续上一篇:NE555基本原理及相关公式的推导 阅读详情

相关推荐

Anthropic API接入指南:连接失败、403鉴权与Claude Code集成排查

在AI应用开发中,API接入与鉴权机制是开发者绕不开的基础工程问题。无论是调用云端模型服务还是自建网关,网络连通性、HTTP状态码语义、模型路由映射都会直接影响服务可用性。本文从通用的网络诊断与鉴权原理出发,梳理了从TCP连接失败到403权限拒绝的典型链路,并深入解析网关模型路由匹配机制。在此基础上,进一步说明如何通过环境变量完成Claude Code与VS Code的本地集成,以及一套基于Python的可复现接入方案。内容涵盖Anthropic API高频报错定位、curl冒烟测试、SDK工程化实践,适合

weixin_28743405的博客 464

java打印 X XXX XXXXX

public class Test3 { int i = 0; int n = 3; while (i < n) { //打印空格 n-i-1个 for (int j = 0; j < n - i - 1; j++) { System.out.print(" "); } //打印X i*2+1个 .

qq_50292797的博客 13万+

别再只做游戏了!用虚幻引擎5(UE5)给你的工厂车间做个数字双胞胎(附数据对接教程)

本文详细介绍了如何利用虚幻引擎5(UE5)构建工业数字孪生系统,实现工厂车间的智能可视化。通过UE5的高质量渲染和实时数据处理能力,结合OPC UA和MQTT协议,打造高效的数据对接方案,提升异常识别和设备管理效率。文章还分享了模型优化、可视化设计及典型工业场景的实战案例,助力企业迈向工业4.0。

weixin_33738555的博客 206

java.lang.NoSuchFieldError: No static field septal_line3 of type I in class com/example/xxxxx/xxxxxx

03-27 08:41:48.942 29308-29308/com.xx.xxxxxxxxxxxxx E/AndroidRuntime: FATAL EXCEPTION: main Process: com.xx.xxxxxxxxxxxxx, PID: 29308 java.lang.NoSuchFieldError: No static field septal_line3 ...

sinat_35958166的博客 19万+

ADNI数据集下载(详细)

刚刚接触到这个数据集的时候比较头疼,用了好长的时间才把下载过程和预处理过程弄明白。需要发送电子邮件给官方平台,收到回信后才能够下载到数据集。 1、ADNI账号注册 第一步:搜索百度打开ADNI 第二步,点击ADTA&amp;amp;SAMPLES 第三步:一直将鼠标往下拉 点击ADNI,进入里面填写信息。需要填写的信息还是挺多的,耐心填写,再等到邮件回复就可以了 2、ADNI数据集下载 登录申请的邮...

蜗牛遥遥 3万+

避开这5个坑!ADNI数据库下载实操经验分享(含断点续传方案)

本文分享了ADNI数据库下载的5个常见陷阱及解决方案,包括高级搜索策略优化、断点续传技巧和数据完整性验证。特别针对大文件下载中断问题,提供了wget断点续传和分卷下载的实操方法,帮助研究者高效获取神经影像数据,避免重复下载和时间浪费。

git9versioner的博客 373

xxxxxx

 xxxxxxxxxx

zhaoyulong8873的专栏 6万+

带你学习Android中的ContentObserver

通过使用,开发者可以有效地监听系统设置的变化,例如屏幕亮度等。这种机制使得应用能够动态响应系统设置的更改,提升用户体验。在实现需要与系统设置交互的应用时,合理使用是非常重要的。

执剑人 1311

xxxxxxxxxxxxxxxxxxxxxx

Linux_1 常用文件管理命令 文件系统结构 路径 绝对路径 : /开头 相对路径: ~/返回家目录 根目录 bin:常用可执行命令 etc:配置文件 var:网站日志 lib:安装包/库文件 home:家目录 proc:进程相关 cpu info CPU信息 ls 蓝色-文件夹 绿色-可执行文件 白色-普通文件 (1) ctrl c: 取消命令,并且换行 (2) ctrl u: 清空本行命令 (3) tab键:可以补全命令和文件名,如果补全不了快速按两下tab键,可以显示备

m0_51780913的博客 8万+

运放+三极管恒流源电路设计实战:从原理到仿真一步到位(附Multisim文件)

本文详细解析了运放与三极管构建恒流源电路的核心原理,重点阐述了负反馈机制如何实现精准的电流控制。通过Multisim仿真实战,从电路搭建、参数计算到负载调整率与动态响应分析,一步步指导设计过程,并提供常见故障的调试技巧与PCB设计要点,帮助工程师从理论平稳过渡到可靠实践。

7z8x2c4v6b9的博客 709

多雷达协同探测技术研究进展:认知跟踪与资源调度算法

源自:雷达学报作者:易伟 袁野 刘光宏 葛建军 孔令讲 杨建宇雷达是信息感知的千里眼,具有极高的军用和民用价值,广泛应用在防空预警、遥感测绘、反恐维稳等领域[1–5]。雷达信息获取与探测技术也一直是大国竞相抢占的前沿技术,同时是信息科学的重要组成部分。随着科学技术不断进步,先进电子对抗装备的不断问世和广泛列装,雷达的生存与发展正面临日益严峻的挑战。从生存环境上看,雷达面临通信等各类民用电磁干扰以及复杂的军用电磁干扰;从探测对象上看,集群、微弱、隐身、高空、低空等多样化目标的出现也给雷达探测与识别带来困难。

renhongxia1的博客 2782

Pow(x, n)

Pow(x, n) 思路:x^n=(x*x)^(n/2),当n为偶数;x^n=(x*x)^(n/2)*x,当n为奇数. 当n为负数时,x^n=(1/x)^(-n) 注意:对边界条件的处理,当n=INT_MIN时,直接取负会溢出。 https://discuss.leetcode.com/topic/5425/short-and-easy-to-understand-solution

liuchenjane的博客 3万+

【网络协议】TCP的拥塞控制机制

前言 计算机网络中的带宽、交换节点中的缓存和处理机等,都是网络的资源,在某段时间内,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏,这种情况就叫做拥塞。 所谓拥塞控制,就是防止过多的数据注入到网络中,从而使网络中的路由器或链路不致过载。要注意用拥塞控制与流量控制的区别,拥塞控制是一个全局性的过程,涉及到所有的额主机、路由器,以及与降低网 拥塞控制的算法有:慢开始、拥塞避免、快重传、快恢复四种。 慢开始和拥塞避免 发送方维持一个拥塞窗口的状态变量,其大小取决于网络的拥塞程度

兰亭风雨的专栏 1万+

12-Integer to Roman

题目Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999分析参考的别人的代码,非常简洁,就是速度有点慢。主要思路是利用一个二维的string数组来保存数字的十进制然后再对num 进行求余操作。实现 class Solution { public

Hello, Fancy! 2万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

DISTRIB TRAN xxxxx.xxxx.xx.x.xx , delete pending committed tran

DISTRIB TRAN CPROD.09cbaeca.13.4.461945  is local tran 7.25.134449 (hex=07.19.20d31))  delete pending committed tran, scn=307675863991 (hex=47.a2e91bb7)DISTRIB TRAN CPROD.09cbaeca.20.20.6177045  is lo...

shi_chuanfei的专栏 6万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Python入门

python

yang2507366c的博客 2万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Python-正则表达式

PY{:3}N 把大括号前的字符扩展0到3次 ‘PN’ ‘PYN’ ‘PYYYN’ ^[A-Za-z]+$ 由26个字母组成的字符串 其中^ $规定要匹配开头和结尾 ^-?\d+$ 整数形式的字符串 ^[0-9]*[1-9][0-9]*$ 正整数形式的字符串 [1-9]\d{5} 中国境内邮政编码6位 正则表达式类型: raw string 类型(原生字符串类型指不包含转义符的字符串...

chi's blog 2101

C#计算20902个汉字的拼音首字母

   /**////   /// 获得一个字符串的汉语拼音码,XDesigner编制  ///   /// 字符串  /// 汉语拼音码,该字符串只包含大写的英文字母  public static string ToChineseSpell( string strText)  {   if( strText == null || strText.Length == 0 )    return

.NET技术文章转载博客 5768

XXXXXXXXXXX学校“专家问诊课”活动方案

一、指导思想 教师的专业发展是学校教育内涵不断提升的动力之源,为了打造更优秀的教育团队,培养教师的可持续发展能力,提高教师的教育创新能力,提升教师队伍的综合素质,特邀请原XXX新老师到我校进行教育教学的指导工作。 二、培养目标 让每一位教师具有“育人为本”的教育理念,具有善于驾驭课程的能力。 三、参与人员 1、聘任专家:XXX老师 2、全体青年教师 四、活动时间 XXXX-XXXX学年第XX学期 五、活动过程 教师轮流进行公开课展示,实施“教研七步法”,XXX老师每周二、周五到校评课,具

weixin_49378420的博客 2万+

普通函数如何单元测试

最简单的单元测试入门、体验!开箱即用~

LT450196683的专栏 3875

Invalid HTTP_HOST header:‘xxx.xxx.xxx.x:8000‘.You may need to add ‘xxx.xxx.xxx.x‘ to ALLOWED_HOSTS.

创建Django项目时,在客户端访问web服务器出现以下问题: Invalid HTTP_HOST header:‘xxx.xxx.xxx.x:8000’.You may need to add ‘xxx.xxx.xxx.x’ to ALLOWED_HOSTS. 解决方法: 修改创建项目时生成的setting.py文件 将ALLOWED_HOSTS = [] 修改为ALLOWED_HOSTS = [’*’] 再次运行即可成功访问。 ...

XreqcxoKiss的博客 2702

20041220 GETSTRING.CS

using System;//namespace MZSF.Controls//{ ///  /// mygetstring 的摘要说明。 ///  public class mygetstring {  public  mygetstring()  {   //   // TODO: 在此处添加构造函数逻辑   //  }  ///  summary>  /// 汉字拼音首字母列表 本列

徐虎的专栏 5436

【PAT】1108. Finding Average

考查点:模拟题 提交情况:水题,但是有几个坑,首先number输出时如果是单数1不能加s,其次小数点后面数可以是零个。。 #define LOCAL #include #include #include #include #include #include #include #include #include #include #include #define FOR(i

天行健,君子以自强不息 1016

linux命令大全

关机 poweroff 重新启动 reboot 文件目录 1.切换命令 cd cd .. 返回上一级目录 cd / 进入根目录 cd /game 进入指定目录 2.查看当前目录下文件 ls (不包括隐藏文件) ls -a(包括隐藏文件) ls -l(查看完整文件) 简写ll 3.显示当前路径信息 pwd 4.创建文件夹: mkdir xx 普票文件夹 mkdir -p xx/yy...

Realists的博客 5987

大一下第一场

大一下第一场比赛: 太菜了 第一题有一些小细节没注意导致花了很多时间,诶…… 长寿的xjl Description xjlxjl出生于1999年2月3号,她想知道自己已经活了多少天,所以请你帮帮忙,题目会给出当前的日期,请你求出从她出生日开始到某一天时,xjlxjl已经活了多少天了(算上出生那天) Input 输入当前日期(年/月/日),年份保证大于出生日期并且小于1000010000 Outpu...

维生素C吃多了会上火 2万+

Python 学习笔记 元组 xxxxxxx XXXXXXXXXX

Python 学习笔记 元组 xxxxxxx XXXXXXXXXX print("=" * 20) dimensions = (200, 50) print(dimensions[0]) print(dimensions[1]) for demension in dimensions: print(demension) print("=" * 20) dimensions = (200, 50) print("Original dim...

3万+
上一篇: [容斥] Topcoder SRM555DIV1. MapGuessing
下一篇: [线性基 贪心] Topcoder SRM557Div1. XorAndSum
LowestJN
博客等级 码龄10年 76粉丝 422原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值