题解:

差分约束系统

要我们求最小值

显然就是转化为最长路

然后spfa一下即可

代码:

#include<bits/stdc++.h>
using namespace std;
const int N=;
long long ans,dis[N];
int n,m,op,x,y,sl[N],Q[N],flag[N],tot,zz[N],fi[N],ne[N],num[N];
void jb(int x,int y,int z)
{
ne[++tot]=fi[x];
fi[x]=tot;
zz[tot]=y;
sl[tot]=z;
}
int main()
{
scanf("%d%d",&n,&m);
while (m--)
{
scanf("%d%d%d",&op,&x,&y);
if (op==)
{
jb(x,y,);
jb(y,x,);
}
if (op==)
if (x==y)
{
puts("-1");
return ;
}
else jb(x,y,);
if (op==)jb(y,x,);
if (op==)
if (x==y)
{
puts("-1");
return ;
}
else jb(y,x,);
if (op==)jb(x,y,);
}
for (int i=;i<=n;i++)jb(,n-i+,);
int l=,r=;
while (l!=r)
{
int now=Q[l++];
if (l==N)l=;
flag[now]=;
for (int i=fi[now];i;i=ne[i])
{
if (dis[zz[i]]<dis[now]+sl[i])
{
dis[zz[i]]=dis[now]+sl[i];
if (!flag[zz[i]])
{
flag[zz[i]]=;
if (++num[zz[i]]>=n)
{
puts("-1");
return ;
}
Q[r++]=zz[i];
if (r==N)r=;
}
}
}
}
for (int i=;i<=n;i++)ans+=dis[i];
printf("%lld",ans);
}

bzoj2330的更多相关文章

  1. 【BZOJ2330】【SDOI2012】糖果(差分约束,SPFA)

    [BZOJ2330][SDOI2012]糖果 题面 题目描述 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要 ...

  2. BZOJ2330 SCOI2011 糖果 【差分约束】

    BZOJ2330 SCOI2011 糖果 Description 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一 ...

  3. 【bzoj2330】: [SCOI2011]糖果 图论-差分约束-SPFA

    [bzoj2330]: [SCOI2011]糖果 恩..就是裸的差分约束.. x=1 -> (A,B,0) (B,A,0) x=2 -> (A,B,1)  [这个情况加个A==B无解的要特 ...

  4. 【BZOJ2330】糖果(差分约束系统,强连通分量,拓扑排序)

    题意: 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖 ...

  5. 差分约束 【bzoj2330】[SCOI2011]糖果

    /*[bzoj2330][SCOI2011]糖果 2014年3月5日1,2761 Description 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖 ...

  6. bzoj2330: [SCOI2011]糖果

    2330: [SCOI2011]糖果 Time Limit: 10 Sec Memory Limit: 128 MB Description 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友 ...

  7. bzoj2330 糖果

    Description 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的 ...

  8. (bzoj2330)糖果

    2330: [SCOI2011]糖果 Time Limit: 10 Sec  Memory Limit: 128 MB Description 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋 ...

  9. BZOJ2330 糖果题解 查分约束

    BZOJ 2330 糖果题解 差分约束系统 + SPFA 题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2330 Description ...

  10. 【BZOJ2330】 [SCOI2011]糖果

    Description 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的 ...

随机推荐

  1. 《剑指offer》第五十七题(和为s的两个数字)

    // 面试题57(一):和为s的两个数字 // 题目:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们 // 的和正好是s.如果有多对数字的和等于s,输出任意一对即可. #includ ...

  2. MYSQL常用函数(聚合函数(常用于GROUP BY从句的SELECT查询中))

    AVG(col)返回指定列的平均值 COUNT(col)返回指定列中非NULL值的个数 MIN(col)返回指定列的最小值 MAX(col)返回指定列的最大值 SUM(col)返回指定列的所有值之和 ...

  3. lua_call/lua_pcall/xpcall

    vs2013+lua5.3.3 1.涉及函数 主要C函数:lua_call和lua_pcall 主要lua函数xpcall 2.正常使用lua_call ①hello.lua文件内容 function ...

  4. 关于怎么在CSDN中修改代码行中字体的颜色

    先吐槽一下自己的心路历程吧,自己现在也是在CSDN中发表了自己好几篇的原创博文,但每一篇博文自己总感觉怪怪的,就是说不出自己哪里有毛病呢,知道今天恍然大悟,原来自己的代码行真心丑的要死,没有呈现出在编 ...

  5. Arduino 数字函数总结

    Arduino 有三个数字函数,分别是:pinMode( ), digitalWrite( ),digitalRead( ).三个函数各有其作用,pinMode( ) 在初始化 setup( )函数中 ...

  6. VS2008版本引入第三方dll无强签名

    sn.exe 和ilasm.exe 是系统自带程序.如果显示无此命令,可以从“我的电脑”直接搜索. 将dll文件放入目录下,用VS开发人员命令执行以下命令即可.(以Interop.Scripting. ...

  7. How-to: Use HBase Bulk Loading, and Why

    How-to: Use HBase Bulk Loading, and Why http://blog.cloudera.com/blog/2013/09/how-to-use-hbase-bulk- ...

  8. 安装 zookeeper cluster

    安装 zookeeper cluster zookeeper-3.4.5.tar.gz n0 10.69.10.193 n1 10.69.10.188 n2 10.69.10.192 n0 上解压 z ...

  9. 网络基础之 tcp/ip五层协议 socket

    1 网络通信协议(互联网协议) 1.1 互联网的本质就是一系列的网络协议 1.2 osi七层协议 1.3 tcp/ip五层模型讲解 1.3.1 物理层 1.3.2 数据链路层 1.3.3 网络层 1. ...

  10. Jupyter notebook 转 pdf [完整转换]