#P3455. 供电网络
供电网络
题目描述
阿狸和桃子居住的世界里, 只有一个国家, 这个国家有很多城市, 每个城市直接由中央政府管辖.
电力是这个国家的唯一能源, 但是每个城市的发电能力都不一样, 于是就产生了某些城市电力不足, 而某些城市却电力过剩的情况. 阿狸作为国家的首席工程师, 阿狸的一项重要工作就是均衡整个国家的电力, 使得每个城市的电力都恰好没有剩余或不足. 好在一些城市之间有电线可以输送电力, 这些电线都有自己的输送上限和下限, 并且输送电力的同时会产生大量的热.
每条电线i发出的热量一定是关于输送电量的一个没有常数项的二次函数, 即a_i*x^2+b_i*x, 并且由于电线是二极管做成的, 很显然只能单向输送电力. 每单位热量需要用1单位的金币来冷却. 任何两个城市之间, 至多有一条电线. 不幸的是, 有时电力网络不像我们想的那么完美, 某些情况下可能无论如何都不能满足整个国家的电力需求. 这种情况下就只好向别的世界购买电力或者将电力输出给别的世界(注意, 每个城市的电力不能有剩余!), 每个城市买入或者输出电力的价格是不一样的(输出也要花钱). 由于阿狸的国家没有小数的概念, 输送, 购买或者交换电力的都必须是以整数1为单位.
阿狸的任务是最小化金币的花费(买入/送出的费用+电线上发热的冷却费用), 他最近被这个问题搞得焦头烂额, 以至于没有时间去陪桃子玩, 结果天天被桃子骂T_T. 好在有你, 万能的程序猿, 请你编写一个程序来帮阿狸解决这个问题吧.
输入格式
第一行2个整数, n和m, 分别是城市个数和有向电线条数.
接下来n行, 每行3个整数[left, in, out], 其中第k行表示第k个城市的信息:
left表示这个城市剩余(负数为不足)的电量, -5 <= left <= 5.
in, out表示这个城市买入或送出一个单位电量的价格. 0 <= in, out <= 10000
最后m行, 每行6个整数, u, v, a, b, L, U 其中第k行表示第k条电线的信息:
u, v分别表示电线的开始和结束城市(电力只能从u输送到v).
a, b表示电线发热的二次函数的二次项和一次项.
L, U表示电线输送电力的下界和上界.
输出格式
仅一个整数, 表示最小的金币花费.
3 2
1 1 1
-2 20 0
-4 20 0
1 2 1 0 0 10
2 3 0 3 0 10
53
[样例解释]
城市1买入5个单位电力, 花费5.
城市1输出6个单位电力到城市2, 花费36.
城市3输出4个单位电力到城市3, 花费12.
总花费53.
数据范围与约定
对于 100% 的数据满足 n <= 200, m <= 600, u != v, 1 <= u, v <= n, 1 <= a, b <= 3, 1 <= L <= 10, 1 <= L <= U <= 100, 0 <= in, out <= 100, -5 <= left <= 5.