1176 加权版
……还是差分约束
Program P1201;
var
n,i,j,minq,maxq:longint;
d:array[-1..60000] of longint;
w:array[1..60000,1..3] of longint;
flag:boolean;
function min(a,b:longint):longint;
begin
if a<b then exit(a) else exit(b);
end;
function max(a,b:longint):longint;
begin
if a>b then exit(a) else exit(b);
end;
procedure relax(v,u,w:longint);
begin
if (d[u]+w<d[v]) then
begin
d[v]:=d[u]+w;
flag:=false;
end;
end;
procedure bellman_ford;
var
i,j,k:longint;
begin
//d[w[i,2]] - d[w[i,1]-1]>=2 ->d[w[i,1]-1]-d[w[i,2]]<=-2
//d[i]-d[i-1]<=1
//d[i]-d[i-1]>=0 ->d[i-1]-d[i]<=0
d[minq-1]:=0;
while (true) do
begin
flag:=true;
// for i:=minq to maxq do relax(i,minq-1,0);
for i:=1 to n do relax(w[i,1]-1,w[i,2],-w[i,3]);
for i:=minq to maxq do relax(i,i-1,1);
for i:=maxq downto minq do relax(i-1,i,0);
if flag then break;
end;
end;
begin
while not seekeof do
begin
minq:=maxlongint; maxq:=0;
fillchar(d,sizeof(d),0);
read(n);
for i:=1 to n do
begin
read(w[i,1],w[i,2],w[i,3]);
minq:=min(minq,w[i,1]);
maxq:=max(maxq,w[i,2]);
end;
bellman_ford;
writeln(d[maxq]-d[minq-1]);
end;
end.
分享到:
相关推荐
北大POJ1201-Intervals 解题报告+AC代码
POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类POJ分类
北大POJ2983-Is the Information Reliable【差分约束+优化Bellman】 解题报告+AC代码
poj 百练 题目分类 poj 百练 题目分类
poj分类poj分类poj分类poj分类
pojACM题目分类,便于各类型同学分别做题有所参考
POJ题目分类POJ题目分类POJ题目分类
北大POJ1716-Integer Intervals【Difference Constraints】 解题报告+AC代码
该文档对poj大部分题目进行了分类,有利于喜欢在poj刷题的朋友
POJ题目分类,列出了所有的类目,里面写了一些很好的框架。
poj题目分类
解决算法问题 poj1082, poj1150, poj1180, poj1201, poj1222,代码完成所给题目要求。
poj题目分类打包 acm北大的题库题目分类 来源网络 网络还有自己整理一部分。好久前的玩意了
史上最全poj题目分类及原题 包括:基本算法:贪心、递归、递推、枚举;基本数据结构,链表、栈;动态规划;搜索;高级数据结构:二叉搜索树、线段树、树状数组;数学:数论
强大的poj分类 学做POJ必备 非最新,供参考
poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题报告poj 解题...
poj题目分类 简单题 搜索题 模拟题 动态规划 计算几何 递推 数学题 图论 数据结构 贪心 构造 枚举 特殊问题特殊对待 博弈 适合学算法的人进行专项练习
史上最全poj题目分类(159页).pdf
POJ题解及题目分类,共150道左右。C/C++
ACM/icpc的练习题目分类,非常全面的关于poj题目的分类