洛谷上的翻译是真的哲学♂♂♂

非常van的题目传送门♂♂♂

个人认为这题充其量也就是个蓝(nan)题,首先处理-1的情况,-1的情况是不等式组无解,按照差分约束的规则,无解说明出现了负环,先跑一遍以0为源点的SPFA判断有无负环即可。再来处理-2的情况,结果为-2就说明1号和n号节点不存在直接的或间接的约束关系,所以我们跑一遍以1为源点SPFA看1到n连不连通即可。最后如果答案不为-1和-2,那么dist[n]就是答案啦。~~~♂♂♂♂♂♂♂♂♂

参考程序如下:

 #include<iostream>
#include<cstring>
#include<queue>
#define inf 336860180
using namespace std;
int n,ml,md,v[],w[],head[],nxt[],cnt,ring[],dist[],a,b,d;
bool vis[];
void add(int a,int b,int c)
{
v[++cnt]=b;
w[cnt]=c;
nxt[cnt]=head[a];
head[a]=cnt;
}
bool spfa(int s)
{
memset(dist,,sizeof(dist));
memset(ring,,sizeof(ring));
dist[s]=;
queue<int>q;
q.push(s);
vis[s]=;
while(!q.empty())
{
int c=q.front();
q.pop();
vis[c]=;
ring[c]++;
if(ring[c]==n)return ;
for(int i=head[c];i;i=nxt[i])
{
int y=v[i];
if(dist[y]>dist[c]+w[i])
{
dist[y]=dist[c]+w[i];
if(!vis[y])
{
q.push(y);
vis[y]=;
}
}
}
}
return ;
}
int main()
{
cin>>n>>ml>>md;
for(int i=;i<=ml;i++)
{
cin>>a>>b>>d;
add(a,b,d);
}
for(int i=;i<=md;i++)
{
cin>>a>>b>>d;
add(b,a,-d);
}
for(int i=;i<=n;i++)add(,i,);
if(spfa())
{
cout<<"-1";
return ;
}
spfa();
if(dist[n]==inf)
{
cout<<"-2";
return ;
}
cout<<dist[n]<<endl;
return ;
}

[Bzoj1731]排队布局的更多相关文章

  1. 【BZOJ1731】[Usaco2005 dec]Layout 排队布局 差分约束

    [BZOJ1731][Usaco2005 dec]Layout 排队布局 Description Like everyone else, cows like to stand close to the ...

  2. 【bzoj1731】Layout 排队布局

    1731: [Usaco2005 dec]Layout 排队布局 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 868  Solved: 495[Subm ...

  3. 1731: [Usaco2005 dec]Layout 排队布局*

    1731: [Usaco2005 dec]Layout 排队布局 题意: n头奶牛在数轴上,不同奶牛可以在同个位置处,编号小的奶牛必须在前面.m条关系,一种是两头奶牛距离必须超过d,一种是两头奶牛距离 ...

  4. 排队(BZOJ1731:[Usaco2005 dec]Layout 排队布局)

    [问题描述] Czy喜欢将他的妹子们排成一队.假设他拥有N只妹纸,编号为1至N.Czy让他们站成一行,等待自己来派送营养餐.这些妹纸按照编号大小排列,并且由于它们都很想早点吃饭,于是就很可能出现多只妹 ...

  5. [bzoj1731] [Usaco2005 dec]Layout 排队布局

    差分约束系统...因为题目要求的是1和n的最大距离所以这题就跑最长路.. 对于互相反感的牛(i与j互相反感,彼此距离至少为len,i<j),就有dis[j]-dis[i]>=len.就加一 ...

  6. BZOJ1731:[USACO]Layout 排队布局(差分约束)

    Description Like everyone else, cows like to stand close to their friends when queuing for feed. FJ ...

  7. [Usaco2005 dec]Layout 排队布局 差分约束

    填坑- 差分约束一般是搞一个不等式组,求xn-x1的最大最小值什么的,求最大值就转化成xa<=xb+w这样的,然后建图跑最短路(这才是最终约束的),举个例子 x1<=x0+2x2<= ...

  8. bzoj 1731: [Usaco2005 dec]Layout 排队布局 ——差分约束

    Description 当排队等候喂食时,奶牛喜欢和它们的朋友站得靠近些.FJ有N(2<=N<=1000)头奶牛,编号从1到N,沿一条直线站着等候喂食.奶牛排在队伍中的顺序和它们的编号是相 ...

  9. 【BZOJ】1731: [Usaco2005 dec]Layout 排队布局

    [题意]给定按编号顺序站成一排的牛,给定一些约束条件如两牛距离不小于或不大于某个值,求1和n的最大距离.无解输出-1,无穷解输出-2. [算法]差分约束+最短路 [题解]图中有三个约束条件,依次分析: ...

随机推荐

  1. 记录几个ui框架

    Web前端领域最近几年发展的特别迅速,可以说是百家争鸣.Web前端框架就是为了节约开发成本和时间,一般开发一个项目都会用到前端框架(除非自己有前端开发团队).对于现在的开发者来说,都向着全栈方向发展, ...

  2. Nginx处理前端跨域(补充)

    在之前的博客中提到了用nginx来处理前后端跨域问题,用Nginx代理请求,处理前后端跨域 ,虽然解决当时了问题,但是在实际使用中还是不好用,当时应对的只是对单接口的处理,如果一个页面需要调用两个不同 ...

  3. .net core api迁移 3.0后Post 405 Method Not Allowed

    问题由来:.net core api之前是用 .net core 2.0开发的,测试过都是正常的,近期升级到了3.0,发现api get正常,post提示400,405 Method Not Allo ...

  4. 动态规划—distinct-subsequences

    题目: Given a string S and a string T, count the number of distinct subsequences of T in S. A subseque ...

  5. AOP切面详解

    一.spring-aop.xml文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns= ...

  6. Sass:@at-root

    @at-root 从字面上解释就是跳出根元素.当你选择器嵌套多层之后,想让某个选择器跳出,此时就可以使用 @at-root.来看一个简单的示例: .a { color: red; .b { color ...

  7. ltp-ddt eth_switch_config学习

    # @name ALE Table test using SWITCH-CONFIG # @desc Checks default entries in ALE table and verifies ...

  8. CH5E26 扑克牌 (计数类DP)

    $ CH~5E26~\times ~ $ 扑克牌: (计数类DP) $ solution: $ 唉,计数类DP总是这么有套路,就是想不到. 这道题我们首先可以发现牌的花色没有价值,只需要知道每种牌有 ...

  9. Java常用类库API之数字处理工具类

    数字处理工具类BigDecimal和DecimalFormat Java提供的java.text.DecimalFormat类,帮助我们用最快的速度将数据格式化为我们想要的样子.例如,取两位小数 im ...

  10. string 、char* 、 char []的转换

    1.string->char* (1)data string s = "goodbye"; const char* p=str.data(); (2)c_str() stri ...