poj 1637 Sightseeing tour——最大流+欧拉回路

题目:http://poj.org/problem?id=1637

先给无向边随便定向,如果一个点的入度大于出度,就从源点向它连 ( 入度 - 出度 / 2 ) 容量的边,意为需要流出去这么多;流出去1表示改了一条边的方向,会使自己出度-1、入度+1,所以容量要/2;出度大于入度的点类似地连向汇点;无向边按给它定的方向的反方向连上容量为1的边;最后看看能否满流即可。

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
const int N=205,M=1005,INF=N*M;
int n,m,deg[N],hd[N],xnt,cur[N],sm[N],gn[N],gt[N],dfn[N];
struct Ed{int to,nxt,cap;Ed(int a=0,int b=0,int c=0):to(a),nxt(b),cap(c) {}
}ed[M+N<<1];
queue<int> q;
int rdn()
{int ret=0;bool fx=1;char ch=getchar();while(ch>'9'||ch<'0'){if(ch=='-')fx=0;ch=getchar();}while(ch>='0'&&ch<='9')ret=ret*10+ch-'0',ch=getchar();return fx?ret:-ret;
}
void init()
{xnt=1;memset(deg,0,sizeof deg);//xnt=1!!!memset(sm,0,sizeof sm);memset(hd,0,sizeof hd);memset(gn,0,sizeof gn);memset(gt,0,sizeof gt);
}
void add(int x,int y,int z)
{ed[++xnt]=Ed(y,hd[x],z);hd[x]=xnt;ed[++xnt]=Ed(x,hd[y],0);hd[y]=xnt;
}
bool bfs()
{memset(dfn,0,sizeof dfn);dfn[0]=1;q.push(0);while(q.size()){int k=q.front();q.pop();for(int i=hd[k],v;i;i=ed[i].nxt)if(!dfn[v=ed[i].to]&&ed[i].cap)dfn[v]=dfn[k]+1,q.push(v);}return dfn[n+1];
}
int dinic(int cr,int flow)
{if(cr==n+1)return flow;//
  int use=0;for(int& i=cur[cr],v;i;i=ed[i].nxt)if(dfn[v=ed[i].to]==dfn[cr]+1&&ed[i].cap){int tmp=dinic(v,min(flow-use,ed[i].cap));if(!tmp)dfn[v]=n+2;use+=tmp;ed[i].cap-=tmp;ed[i^1].cap+=tmp;if(use==flow)return use;}return use;
}
int main()
{int T=rdn();while(T--){n=rdn();m=rdn();init();for(int i=1,u,v,fx;i<=m;i++){u=rdn();v=rdn();fx=rdn();deg[u]++;deg[v]++;sm[v]++;sm[u]--;//in - outif(!fx)add(v,u,1);else gn[v]++,gt[u]++;}bool flag=0;int val=0;for(int i=1;i<=n;i++){if((deg[i]&1)||gn[i]>(deg[i]>>1)||gt[i]>(deg[i]>>1)){flag=1;break;}if(sm[i]>0)add(0,i,sm[i]>>1),val+=sm[i]>>1;else if(sm[i]<0)add(i,n+1,-sm[i]>>1);}if(flag){puts("impossible");continue;}int mxflow=0;while(bfs()){memcpy(cur,hd,sizeof hd);mxflow+=dinic(0,INF);}//fr:0 !!!if(mxflow==val)puts("possible");else puts("impossible");}return 0;
}

 

转载于:https://www.cnblogs.com/Narh/p/10117837.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[css] 什么是视差滚动?如何实现视差滚动的效果?

[css] 什么是视差滚动&#xff1f;如何实现视差滚动的效果&#xff1f; 什么是视差滚动&#xff1a; 就是在同一视角下&#xff0c;鼠标或者页面滚动时&#xff0c;不同元素以不同的速率跟随滚动&#xff0c;产生生动的效果。 如何实现视差滚动&#xff1a; 根据页面滚动高度的…

springcloud gateway 源码解析、请求响应流程、第三方响应结果在 gateway 的经过

大家好&#xff0c;我是烤鸭&#xff1a; 1. 官方介绍 官方文档&#xff1a; 看的是 2.2.5.RELEASE 版本的 https://docs.spring.io/spring-cloud-gateway/docs/2.2.5.RELEASE/reference/html/ 看一下官方这段说明&#xff0c;gateway 使用的是 webflux 和 reactor&#x…

beetl的使用感受

beetl 的用法&#xff0c;跟layui的laytpl的模版语言差不多。写的很舒服。没有thymeleaf那么麻烦。例如 <%for(loadDischargItem in loadDischargItemList){ %><tr><td>${loadDischargItemLP.index}</td><td><input type"text" id&…

[css] css3的:nth-child和:nth-of-type的区别是什么?

[css] css3的:nth-child和:nth-of-type的区别是什么&#xff1f; :nth-child(n) 选择器匹配属于其父元素的第 N 个子元素&#xff0c;不论元素的类型。 :nth-of-type(n) 选择器匹配属于父元素的特定类型的第 N 个子元素。 n 可以是数字、关键词或公式。个人简介 我是歌谣&…

改logback logstash-logback-encoder 框架本身的日志级别

大家好&#xff0c;我是烤鸭&#xff1a; 最近遇到一个问题&#xff0c;想把logback框架本身的日志级别修改&#xff0c;需要 logstash-logback-encoder 6.1 以上的版本才可以。 直接上代码 这里修改的不是业务日志级别&#xff0c;是 logback 框架本身(确切地说是 logstash…

idea首次创建新模块的详细操作

依赖网址:https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api/3.1.0 https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api/2.3.1 https://mvnrepository.com/artifact/org.springframework/spring-webmvc 创建文件夹 修改版本号 配…

[css] 怎么使用自定义字体?有什么注意事项?

[css] 怎么使用自定义字体&#xff1f;有什么注意事项&#xff1f; font-face { font-family: 自定义字体名称; src: url(字体文件名.eot); /* IE9 Compat Modes / src: url(字体文件名.eot?#iefix) format(embedded-opentype), / IE6-IE8 / url(字体文件名.woff) format(wof…

markdown 常用语法总结 - 个人版

这里并不是要总结所有的 markdown 语法&#xff0c;只是总结笔者自己撰写博客时常用的一些 markdown 语法。 1 图片设置 1.1 设置图片位置 利用markdown在编写文档时插入图片是默认靠左&#xff0c;有些时候将图片设置为居中时可以更加的美观&#xff0c;这时就需要在图片的信息…

[css] 要是position跟display、overflow、float这些特性相互叠加后会怎么样?

[css] 要是position跟display、overflow、float这些特性相互叠加后会怎么样&#xff1f; display:none之后别的样式设置成什么都不管用了&#xff0c;dom元素不可见了。position:absolute之后float应该就不起作用了个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识…

logback AbstractLogstashTcpSocketAppender 源码解析

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享下 logback 源码 &#xff0c;版本是 6.5-SNAPSHOT。 写这篇的目的 由于最近项目中一直出现这个日志&#xff0c;而且基本每20秒就会打印一次&#xff0c;也没法关掉&#xff0c;百度上资料也很少&#xff0c;只能自己来了。 …

PostgreSQL 、springboot 、spring data jpa 集成

项目地址&#xff1a;https://gitee.com/zhxs_code/PostgreSQL_springboot_jpa_demo.git 增删查改都已经实现。 重点部分&#xff1a; 1.定义自己的方言。 1 package com.zxl.postgrespringdemo.config.dialect;2 3 import org.hibernate.dialect.PostgreSQL94Dialect;4 import…

[css] 有用过Flex吗?简要说下你对它的了解

[css] 有用过Flex吗&#xff1f;简要说下你对它的了解 给我感触最深的只有两点方便/好用子元素超出的bug关于bug, 大家有什么好的解决方案, 除了overflow: hidden个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大…

RedisTemplate value序列化导致的问题

大家好&#xff0c;我是烤鸭&#xff1a; ​ 今天分享一个redisTemplate 使用时&#xff0c;value 序列化的问题。 1. 问题描述 其实我最开始遇到的问题是&#xff1a; stringRedisTemplate.opsForSet().isMember(key,value)一直返回false问题&#xff0c;下边博客给出了…

41、OrthoMCL和mcl软件进行基因家族分析

转载&#xff1a;http://www.realbio.cn/news/124.html https://blog.csdn.net/seallama/article/details/43820763 http://www.cnblogs.com/huangying78/p/8638506.html 1. 数据库的配置 OrthoMCL的分析需要先行建立mysql账户并建立相应的数据库。关于mysql用户的创建我们不在…

[css] 如何实现换肤功能?

[css] 如何实现换肤功能&#xff1f; css 换肤常见方案 是通过 less/sass/postcss 等css 预处理器&#xff0c;通过它们自身的变量用法&#xff0c;设置不同变量&#xff0c;生成不同的主题样式&#xff0c;但是这些样式都是会被打包成常量&#xff0c;我们只能在编译之前修改…

beego——模板处理

beego的模板处理引擎采用的是Go内置的html/template包进行处理&#xff0c;而且beego的模板处理逻辑是采用了缓存编译方式&#xff0c; 也就是所有的模板会在beego应用启动的时候全部编译然后缓存在map里面。 1.模板目录 beego中默认的模板目录是views&#xff0c;用户可以把模…

日志 中文乱码、nacos 中文乱码、saltstack 中文乱码、docker中文乱码

大家好&#xff0c;我是烤鸭&#xff1a; ​ 今天分享一个 saltstack 中文乱码 的问题。 问题说明 由于项目之前没有接入公司的发布系统&#xff0c;今天接入之后发现日志乱码&#xff0c;不仅如此&#xff0c;从nacos获取到的中文参数也是乱码。于是猜想是发布系统遗留了一…

[css] 列举CSS优化、提高性能的方法

[css] 列举CSS优化、提高性能的方法 加载性能压缩CSS通过link方式加载&#xff0c;而不是import复合属性其实分开写&#xff0c;执行效率更高&#xff0c;因为CSS最终也还是要去解析如 margin-left: left;选择器性能尽量少的使用嵌套&#xff0c;可以采用BEM的方式来解决命名冲…

[css] 假如设计稿使用了非标准的字体,你该如何去实现它?

[css] 假如设计稿使用了非标准的字体&#xff0c;你该如何去实现它&#xff1f; 协商解决, 如果是重要信息, 如logo等, 使用图片, iconfont.个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 …

redis出现过多command 慢查询slowlog出现command命令

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享一个问题&#xff0c;一个关于redis slowlog&#xff0c;执行过多 command命令的问题。 问题来源 所有走redis 的接口tp99和平均耗时是原来的两倍不止&#xff0c;运维说redis 的qps也翻倍了。查了下slowlog&#xff0c;发现…