51nod 1340 差分约束
思路:
带未知量的Floyd
很强
http://yousiki.net/index.php/archives/87/
//By SiriusRen
#include <bits/stdc++.h>
using namespace std;
const int B=;
int cases,n,m1,m2,xx,yy,zz;
typedef long long ll;
ll f[][][],l,r,inf;
void up(ll &x,ll y){x=min(x,y);}
signed main(){
scanf("%d",&cases);
while(cases--){
memset(f,0x3f,sizeof(f));
scanf("%d%d%d",&n,&m1,&m2),l=n,r=inf=f[][][];
for(int i=;i<=n;i++)f[i][i][B]=,i?f[i][i-][B]=-:;
up(f[][n][B+],);up(f[n][][B-],);
for(int i=;i<=m1;i++)scanf("%d%d%d",&xx,&yy,&zz),up(f[yy][xx][B+(xx>=yy)],-zz);
for(int i=;i<=m2;i++)scanf("%d%d%d",&xx,&yy,&zz),up(f[xx][yy][B-(xx>=yy)],zz);
for(int i=;i<=n;i++)for(int j=;j<=n;j++)for(int x=-B;x<=B;x++)if(f[j][i][x+B]<inf)
for(int k=;k<=n;k++)for(int y=max(-B,-B-x);y<=B&&x+y<=B;y++)if(f[i][k][y+B]<inf)
up(f[j][k][x+y+B],f[j][i][x+B]+f[i][k][y+B]);
for(int i=;i<=n;i++)for(int j=;j<=*B;j++){
if(j==B){if(f[i][i][j]<){puts("");goto be;}}
else if(f[i][i][j]<inf)j>B?l=max(l,(-f[i][i][j]-)/(j-B)+):r=min(r,-f[i][i][j]/(j-B));
}printf("%lld\n",r==inf?-:(l<=r?r-l+:));be:;
}
}
51nod 1340 差分约束的更多相关文章
- 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) 分析 ...
- [USACO2005][POJ3169]Layout(差分约束)
题目:http://poj.org/problem?id=3169 题意:给你一组不等式了,求满足的最小解 分析: 裸裸的差分约束. 总结一下差分约束: 1.“求最大值”:写成"<=& ...
- ShortestPath:Layout(POJ 3169)(差分约束的应用)
布局 题目大意:有N头牛,编号1-N,按编号排成一排准备吃东西,有些牛的关系比较好,所以希望他们不超过一定的距离,也有一些牛的关系很不好,所以希望彼此之间要满足某个关系,牛可以 ...
- 【BZOJ】2330: [SCOI2011]糖果(差分约束+spfa)
http://www.lydsy.com/JudgeOnline/problem.php?id=2330 差分约束运用了最短路中的三角形不等式,即d[v]<=d[u]+w(u, v),当然,最长 ...
随机推荐
- PAT 1121 Damn Single
"Damn Single (单身狗)" is the Chinese nickname for someone who is being single. You are suppo ...
- [BZOJ2120] 数颜色 && [bzoj2453] 维护队列(莫队 || 分块)
传送门 只有第一个,第二个权限题. 分块,然而wa,没看出来错在哪里,有时间再看. #include <cmath> #include <cstdio> #include &l ...
- noip模拟赛 捡金币
问题描小空正在玩一个叫做捡金币的游戏.游戏在一个被划分成 n行 n列的网格状场地中进行.每一个格子中都放着若干金币,并且金币的数量会随着时间而不断变化. 小空的任务就是在网格中移动,拾取尽量多的金币. ...
- noip模拟赛 剪纸
题目描述 小芳有一张n*m的长方形纸片.每次小芳将会从这个纸片里面剪去一个最大的正方形纸片,直到全部剪完(剩下一个正方形)为止. 小芳总共能得到多少片正方形纸片? 输入输出格式 输入格式: 一行两个整 ...
- endWith is not a function
解决方法,增加String的扩展 String.prototype.endWith = function(suffix) { return this.indexOf(suffix, this.leng ...
- ASM instance正常启动,但是用sqlplus 连不上的问题
首先,这是oracle 11g 11.0.2.3 版本.这是一个神奇的问题. asm instance启动正常,但是用sqlplus 去连接的时候会显示如下: [oracle@racnode1 ~]$ ...
- 为DataGrid 写一个 DropDownListColumn
Net下有一个类DataGridColumn 作为 DataGrid 控件的不同列类型的基类. 有关此类型全部成员的列表.请參阅 DataGridColumn 成员. System.Object S ...
- MyBatis參数格式化异常解决方式:MyBatisSystemException:
MyBatis參数格式化异常解决方式:MyBatisSystemException: 问题:今天使用MyBatis开发查询功能时,前台传入查询条件明明是String类型,到后台就报错,提示格式化数值错 ...
- [LeetCode] 035. Search Insert Position (Medium) (C++)
索引:[LeetCode] Leetcode 题解索引 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode 035. Sea ...
- HDU 1241 Oil Deposits (DFS)
题目链接:Oil Deposits 解析:问有多少个"@"块.当中每一个块内的各个"@"至少通过八个方向之中的一个相邻. 直接从"@"的地方 ...