差分约束 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) 分析 ...
随机推荐
- PHP 中 include 和 require 的区别详解
require() 语句的性能与 include() 相类似,都是包括并运行指定文件.除了处理失败的方式不同之外.require 在出错时产生 E_COMPILE_ERROR 级别的错误,终止脚本运行 ...
- vue 下拉刷新数据的插件的使用:
1.安装: npm i vue-scroller -S npm install vue-scroller -D 2.在需要加载的页面中引入,或在公共js文件中引入: import VueScrolle ...
- Security Access Control Strategy && Method And Technology Research - 安全访问控制策略及其方法技术研究
1. 访问控制基本概念 访问控制是网络安全防范和客户端安全防御的重要基础策略,它的主要任务是保证资源不被非法使用.保证网络/客户端安全最重要的核心策略之一. 访问控制包括 入网访问控制 网络权限控制 ...
- flutter从入门到精通四
widget Flutter 从 React 中吸取灵感(如果有react的编程经验,会很容易理解flutter),通过现代化框架创建出精美的组件. 它的核心思想是用 widget 来构建你的 UI ...
- Linux入职基础-1.2_U盘安装RedHat5具体步骤
从U盘安装RedHat5具体步骤 从U盘安装RedHat Linux的具体步骤: 准备工作: RHEL_5.6_i386_DVD.ISO文件 具体步骤: 1.解压并用ultraiso软件打开rhel- ...
- nginx buffer
1.错误日志:warn:an upstream response is buffered to a temporary file 解决办法:增加fastcgi_buffers 8 4K; fa ...
- Django一对一查询,列类型及参数
一对一查询 表的创建 # 通过 OneToOneField 创建一对一的关系 from django.db import models # Create your models here. class ...
- 如何使用点击超链接的方式打开Android手机上的应用
在Android应用的AndroidManifest.xml里加入如下的配置片段: <action android:name="my_action"/> <cat ...
- SQL SERVER-修改服务器名称
--query servername SELECT @@SERVERNAME --alter servername sp_dropserver 'oldname' go sp_addserver 'n ...
- Linux 中常见的填空题
一.填空题: 1. 在Linux系统中,以文件方式访问设备 . 2. Linux内核引导时,从文件/etc/fstab中读取要加载的文件系统. 3. Linux文件系统中每个文件用i节点来标识. 4. ...