http://www.tsinsen.com/

清橙网格自动评测系统

>> 用户名或邮箱:   密码:       忘记密码   其他登录:
 
 
 
A1492. 供电网络(胡渊鸣)
时间限制:1.0s   内存限制:256.0MB  
总提交次数:208   AC次数:55   平均分:52.19
将本题分享到:
   
 
问题描述
  阿狸和桃子居住的世界里, 只有一个国家, 这个国家有很多城市, 每个城市直接由中央政府管辖.
  电力是这个国家的唯一能源, 但是每个城市的发电能力都不一样, 于是就产生了某些城市电力不足, 而某些城市却电力过剩的情况.
  阿狸作为国家的首席工程师, 阿狸的一项重要工作就是均衡整个国家的电力, 使得每个城市的电力都恰好没有剩余或不足.
  好在一些城市之间有电线可以输送电力, 这些电线都有自己的输送上限和下限, 并且输送电力的同时会产生大量的热.
  每条电线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.
数据规模和约定
  对于 5% 的数据满足 m = 0.
  对于 30% 的数据满足 n <= 30, L = 0, a = 0.
  对于 60% 的数据满足 n <= 50, m <= 200.
  对于 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.