博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA 11478(差分约束 + 二分)
阅读量:5904 次
发布时间:2019-06-19

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

 

题意:

给定一个有向图,每条边都有一个权值,每次你可以选择一个结点和一个整数的,把所有以v为终点的边的权值减去d,

把所有以v为起点的边的权值加上d

最后要让所有边的权的最小值非负且尽量大

代码

#include
#include
#include
#include
#include
#include
using namespace std;const int N = 1e3;const int inf = 0x3f3f3f3f;int dist[N],inq[N],cnt[N];struct node{ int v,w; node(int v,int w):v(v),w(w) {};};vector
G[N];void init(int n){ for(int i = 0; i<=n; i++) G[i].clear();}bool spfa(int n){ queue
q; q.push(0); memset(inq,0,sizeof(inq)); memset(cnt,0,sizeof(cnt)); memset(dist,inf,sizeof(dist)); dist[0] = 0; inq[0] = 1; cnt[0] = 1; while(!q.empty()) { int u = q.front(); q.pop(); inq[u] = 0; for(int i = 0; i
dist[u] + w) { dist[v] = dist[u] + w; if(!inq[v]) q.push(v),inq[v] = 1; if(++cnt[v]>n) return true; } } } return false;}bool test(int mid,int n){ for(int i = 1; i<=n; i++) for(int j = 0; j

 

转载于:https://www.cnblogs.com/jiachinzhao/p/4937583.html

你可能感兴趣的文章
iptables
查看>>
win + linux + android 多任务分屏
查看>>
JavaScript之怎样获取元素节点
查看>>
日志分析研讨会议纪要
查看>>
iOS MJRefresh下拉刷新(上拉加载)使用详解
查看>>
docker启动Mysql(转)
查看>>
第16章 使用Squid部署代理缓存服务
查看>>
debian下samba配置
查看>>
新建的linux虚拟机找不到eth0解决办法
查看>>
Java中如何解决double和float精度不准的问题
查看>>
Cisco网络设备命名规则
查看>>
大数据于产业金融领域的运用究竟如何很好的实现
查看>>
Android,ios,WP三大手机系统对比
查看>>
监视EntityFramework中的sql流转你需要知道的三种方式Log,SqlServerProfile, EFProfile
查看>>
EBS单实例上所有正在运行的并发请求以及请求目前的状态
查看>>
Html中各种空格的显示
查看>>
mysql 批处理文件出错后继续执行
查看>>
记录一下Swift3.0的一些代码格式的变化
查看>>
C# Socket连接 无法访问已释放的对象
查看>>
【资料下载区】【GMT43相关代码、资料下载地址】更新日期2017/06/28
查看>>