bzoj#P3455. 供电网络

供电网络

题目描述

阿狸和桃子居住的世界里, 只有一个国家, 这个国家有很多城市, 每个城市直接由中央政府管辖。

电力是这个国家的唯一能源, 但是每个城市的发电能力都不一样, 于是就产生了某些城市电力不足, 而某些城市却电力过剩的情况。阿狸作为国家的首席工程师, 阿狸的一项重要工作就是均衡整个国家的电力, 使得每个城市的电力都恰好没有剩余或不足。

好在一些城市之间有电线可以输送电力, 这些电线都有自己的输送上限和下限, 并且输送电力的同时会产生大量的热。

每条电线 ii 发出的热量一定是关于输送电量的一个没有常数项的二次函数, 即 aix2+bixa_ix^2+b_ix, 并且由于电线是二极管做成的, 很显然只能单向输送电力。每单位热量需要用 11 单位的金币来冷却. 任何两个城市之间, 至多有一条电线。

不幸的是, 有时电力网络不像我们想的那么完美, 某些情况下可能无论如何都不能满足整个国家的电力需求。这种情况下就只好向别的世界购买电力或者将电力输出给别的世界(注意, 每个城市的电力不能有剩余!), 每个城市买入或者输出电力的价格是不一样的(输出也要花钱)。 由于阿狸的国家没有小数的概念, 输送, 购买或者交换电力的都必须是以整数 11 为单位.

阿狸的任务是最小化金币的花费($\frac{\text{买入的费用}}{\text{送出的费用}}+\text{电线上发热的冷却费用}$), 他最近被这个问题搞得焦头烂额, 以至于没有时间去陪桃子玩, 结果天天被桃子骂 T_T. 好在有你, 万能的程序猿, 请你编写一个程序来帮阿狸解决这个问题吧。

输入格式

第一行 22 个整数, nnmm, 分别是城市个数和有向电线条数;

接下来 nn 行, 每行 33 个整数 [left,in,out][left, in, out], 其中第 kk 行表示第 kk 个城市的信息:

  • leftleft 表示这个城市剩余(负数为不足)的电量;

  • in,outin, out 表示这个城市买入或送出一个单位电量的价格。

最后 mm 行, 每行66个整数 u,v,a,b,L,U u, v, a, b, L, U,其中第 kk 行表示第 kk 条电线的信息:

  • u,vu, v 分别表示电线的开始和结束城市(电力只能从u输送到v);

  • a,ba, b 表示电线发热的二次函数的二次项和一次项;

  • L,UL, 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

样例解释

城市 11 买入 55 个单位电力, 花费 55

城市 11 输出 66 个单位电力到城市 22, 花费 3636

城市 33 输出 44 个单位电力到城市 33, 花费 1212

总花费 5353.

提示

对于 100%100\% 的数据满足: $n \leq 200, m \leq 600, u \neq v, 1 \leq u, v \leq n, 1 \leq a, b \leq 3, 1 \leq L \leq 10, 1 \leq L \leq U \leq 100, 0 \leq in, out \leq 100, -5 \leq left \leq 5$。