博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 1001 狼抓兔子
阅读量:4323 次
发布时间:2019-06-06

本文共 1225 字,大约阅读时间需要 4 分钟。

第一眼感觉终于看到了一道自己会做的题,不就是最小割裸题嘛简单。然后,发现正解是传说中的最小割转最短路。。

比较玄学。

//Twenty#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;const int maxn=1000+299;const int N=2*1000*1000+29;int s,t,n,m,hl[maxn][maxn],sl[maxn][maxn],xl[maxn][maxn],tot;int fir[N],nxt[N*4],to[N*4],val[N*4],ecnt,vis[N],dis[N],ans,mi1=1e9,mi2=1e9;void add(int u,int v,int w) { nxt[++ecnt]=fir[u]; fir[u]=ecnt; to[ecnt]=v; val[ecnt]=w; nxt[++ecnt]=fir[v]; fir[v]=ecnt; to[ecnt]=u; val[ecnt]=w;}queue
que;void spfa() { while(!que.empty()) que.pop(); memset(vis,0,sizeof(vis)); memset(dis,127,sizeof(dis)); dis[s]=0; vis[s]=1; que.push(s); while(!que.empty()) { int now=que.front(); que.pop(); vis[now]=0; for(int i=fir[now];i;i=nxt[i]) { if(dis[to[i]]>dis[now]+val[i]) { dis[to[i]]=dis[now]+val[i]; if(!vis[to[i]]) { vis[to[i]]=1; que.push(to[i]); } } } }}int main() { //freopen(".in","r",stdin); //freopen(".out","w",stdout); while(scanf("%d%d",&n,&m)==2){ ecnt=0; memset(fir,0,sizeof(fir)); for(int i=1;i<=n;i++) for(int j=1;j
View Code

 

转载于:https://www.cnblogs.com/Achenchen/p/7516738.html

你可能感兴趣的文章
onNewIntent调用时机
查看>>
MYSQL GTID使用运维介绍(转)
查看>>
04代理,迭代器
查看>>
解决Nginx+PHP-FPM出现502(Bad Gateway)错误问题
查看>>
Java 虚拟机:互斥同步、锁优化及synchronized和volatile
查看>>
2.python的基本数据类型
查看>>
python学习笔记-day10-01-【 类的扩展: 重写父类,新式类与经典的区别】
查看>>
查看端口被占用情况
查看>>
浅谈css(块级元素、行级元素、盒子模型)
查看>>
Ubuntu菜鸟入门(五)—— 一些编程相关工具
查看>>
PHP开源搜索引擎
查看>>
12-FileZilla-响应:550 Permission denied
查看>>
ASP.NET MVC 3 扩展生成 HTML 的 Input 元素
查看>>
LeetCode 234. Palindrome Linked List
查看>>
编译HBase1.0.0-cdh5.4.2版本
查看>>
结构体指针
查看>>
迭代器
查看>>
Food HDU - 4292 (结点容量 拆点) Dinic
查看>>
Ubuntu安装Sun JDK及如何设置默认java JDK
查看>>
[经典算法] 排列组合-N元素集合的M元素子集
查看>>