差分约束 4416 FFF 团卧底的后宫
/*
你在某日收到了 FFF 团卧底的求助,在他某日旅游回来,他的后宫们出现了一些不可调和的矛盾,如果 FFF 团卧底把自己的宝贝分给 a 号妹子,那么 b 号妹子至少要在站在 a 号妹子的右边距离 d,妹子才愿意得到那个宝贝。可是后宫里也有玩得好的妹子呀,她们总是渴望亲近一点,如果把自己的宝贝分给 a 号妹子,那么与她亲近的妹子与 a 号妹子的距离不会超过 l。现在总共有 n 个妹子,k 个这样的矛盾关系,m 个亲近关系。假设他的宝贝是无限的,保证每一个妹子都有宝贝的情况下,第 n 个妹子和第一个妹子的最远距离是多少呢?
第一行为 n,m,k
此后 m 行为亲近关系
此后 k 行为矛盾关系
一行,为最长的距离*/
//差分约束 如果x与y之间距离小于k,建一条x到y权值为k的边;如果x与y之间距离大于k,建一条y到x权值为-k的边;
#include<cstdio>
#include<iostream>
#define M 99999999
using namespace std;
int cnt,n,m1,m2,head[1005],next[40005],u[40006],f[1005],t[1005],b[1005];
long long d[1005],v[40005];
int ha,ta;
void jia(int a1,int a2,int a3)
{
cnt++;
next[cnt]=head[a1];
head[a1]=cnt;
u[cnt]=a2;
v[cnt]=a3;
return;
}
int main()
{
int a1,a2,a3;
scanf("%d%d%d",&n,&m1,&m2);
for(int i=1;i<=m1;i++)
{
scanf("%d%d%d",&a1,&a2,&a3);
jia(a1,a2,a3);
}
for(int i=1;i<=m2;i++)
{
scanf("%d%d%d",&a1,&a2,&a3);
jia(a2,a1,-a3);
}
for(int i=2;i<=n;i++)
d[i]=M;
ta=1;
f[1]=1;
t[1]++;
b[1]=1;
for(;ha!=ta;)
{
ha++;
if(ha>1002)
ha=1;
b[f[ha]]=0;
for(int i=head[f[ha]];i;i=next[i])
if(d[u[i]]>d[f[ha]]+v[i])
{
d[u[i]]=d[f[ha]]+v[i];
t[u[i]]++;
if(t[u[i]]==n+1)
{
printf("-1");
return 0;
}
if(!b[u[i]]){ta++;
if(ta>1002)
ta=1;
b[u[i]]=1;
f[ta]=u[i];}
}
}
if(d[n]==M)
printf("-2");
else
printf("%lld",d[n]);
return 0;
}
差分约束 4416 FFF 团卧底的后宫的更多相关文章
- CodeVS4416 FFF 团卧底的后宫
题目描述 Description 你在某日收到了 FFF 团卧底的求助,在他某日旅游回来,他的后宫们出现了一些不可调和的矛盾,如果 FFF 团卧底把自己的宝贝分给 a 号妹子,那么 b 号妹子至少要在 ...
- codevs4419 FFF 团卧底的菊花
题目描述 Description FFF 团卧底在这次出题后就知道他的菊花可能有巨大的危险,于是他提前摆布好了菊花阵,现在菊花阵里有若干朵菊花,出现次数最多的那一朵就是出题人的,你的任务是需要找出出题 ...
- C++之路进阶——codevs4416(FFF的后宫)
4416 FFF 团卧底的后宫 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 你在某日收到了 FFF 团卧底的求 ...
- Candies-POJ3159差分约束
Time Limit: 1500MS Memory Limit: 131072K Description During the kindergarten days, flymouse was the ...
- poj3159 差分约束 spfa
//Accepted 2692 KB 1282 ms //差分约束 -->最短路 //TLE到死,加了输入挂,手写queue #include <cstdio> #include & ...
- ZOJ 2770火烧连营——差分约束
偶尔做了一下差分约束. 题目大意:给出n个军营,每个军营最多有ci个士兵,且[ai,bi]之间至少有ki个士兵,问最少有多少士兵. ---------------------------------- ...
- POJ 2983 Is the Information Reliable? 差分约束
裸差分约束. //#pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #i ...
- 2014 Super Training #6 B Launching the Spacecraft --差分约束
原题:ZOJ 3668 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3668 典型差分约束题. 将sum[0] ~ sum ...
- POJ 1364 King --差分约束第一题
题意:求给定的一组不等式是否有解,不等式要么是:SUM(Xi) (a<=i<=b) > k (1) 要么是 SUM(Xi) (a<=i<=b) < k (2) 分析 ...
随机推荐
- Linux下 sftp服务配置
查看openssh的版本,使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级. 参考博客:https://yq.aliyun.com/articles/6 ...
- Python 操作MySQL 数据库
Python 操作 MySQL 数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的 ...
- DO、VO、DTO 区别
DTO:数据传输对象,主要用于外部接口参数传递封装,接口与接口进行传递使用. VO:视图对象,主要用于给前端返回页面参数使用. DO:数据对象,主要用于数据库层传递. DTO转DO:接口接收参数将参数 ...
- 将double转化成string,并保持N位小数
double dumpSize = (1024000000.1415926535897932384 * 1.0) / 1024 / 1024; string tempStr = to_string(d ...
- 查询慢SQL
可以查看当前时间访问库的所有请求SQL SELECT COUNT(*) AS c,state,info FROM `information_schema`.processlist GROUP B ...
- 1.MVC基础-初识MVC,与WebForm比较
1.Net WebForm的开发模式
- .net通过网络路径下载文件至本地
获取网络文件,通过流保存文件,由于上一版存在数据丢失情况,稍微调整了以下. //网络路径文件 string pathUrl = "http://localhost:805/春风吹.mp3&q ...
- 让image居中对齐,网页自适应
<div class="page4_content"> <div class="page4_box"> <div class=&q ...
- element-ui 表格错行
//表格错行 .el-table th.gutter { display: table-cell !important }
- vscode左侧栏显示
1.显示工具栏 点击文件,选择首选项,点击设置按钮 搜索workbench,勾选上Workbench> Activity Bar:Visble 勾选上后,工具栏就显示出来了 2.移动工具栏选中工 ...