题目大意
本题中你需要求解一个标准型线性规划:
有$n$个实数变量$x_1,x_2,\ldots,x_n$和$m$条约束,其中第$i$条约束形如$\sum_{j=1}^na_{ij}x_j\le b_i$。
此外这$n$个变量需要满足非负性限制,即$x_j\ge0$。
在满足上述所有条件的情况下,你需要指定每个变量$x_j$的取值,使得目标函数$F=\sum_{j=1}^nc_jx_j$的值最大。
JYY现在所玩的RPG游戏中,一共有$N$个剧情点,由$1$到$N$编号,第$i$个剧情点可以根据JYY的不同的选择,而经过不同的支线剧情,前往$K_i$种不同的新的剧情点。当然如果为$0$,则说明$i$号剧情点是游戏的一个结局了。
JYY观看一个支线剧情需要一定的时间。JYY一开始处在$1$号剧情点,也就是游戏的开始。显然任何一个剧情点都是从$1$号剧情点可达的。此外,随着游戏的进行,剧情是不可逆的。所以游戏保证从任意剧情点出发,都不能再回到这个剧情点。由于JYY过度使用修改器,导致游戏的“存档”和“读档”功能损坏了,
所以JYY要想回到之前的剧情点,唯一的方法就是退出当前游戏,并开始新的游戏,也就是回到$1$号剧情点。JYY可以在任何时刻退出游戏并重新开始。不断开始新的游戏重复观看已经看过的剧情是很痛苦,JYY希望花费最少的时间,看完所有不同的支线剧情。
若对线性规划很熟悉的同学可以直接跳过这一段阅读松弛型线性规划。
CZ市为了欢迎全国各地的同学,特地举办了一场盛大的美食节。作为一个喜欢尝鲜的美食客,小M自然不愿意错过这场盛宴。他很快就尝遍了美食节所有的美食。然而,尝鲜的欲望是难以满足的。尽管所有的菜品都很可口,厨师做菜的速度也很快,小M仍然觉得自己桌上没有已经摆在别人餐桌上的美食是一件无法忍受的事情。于是小M开始研究起了做菜顺序的问题,即安排一个做菜的顺序使得同学们的等待时间最短。小M发现,美食节共有$n$种不同的菜品。每次点餐,每个同学可以选择其中的一个菜品。总共有$m$个厨师来制作这些菜品。当所有的同学点餐结束后,菜品的制作任务就会分配给每个厨师。然后每个厨师就会同时开始做菜。厨师们会按照要求的顺序进行制作,并且每次只能制作一人份。此外,小M还发现了另一件有意思的事情: 虽然这m个厨师都会制作全部的$n$种菜品,但对于同一菜品,不同厨师的制作时间未必相同。他将菜品用$1,2,\ldots,n$依次编号,厨师用$1,2,\ldots,m$依次编号,将第$j$个厨师制作第$i$种菜品的时间记为$t_{ij}$。小M认为:每个同学的等待时间为所有厨师开始做菜起,到自己那份菜品完成为止的时间总长度。换句话说,如果一个同学点的菜是某个厨师做的第$k$道菜,则他的等待时间就是这个厨师制作前$k$道菜的时间之和。而总等待时间为所有同学的等待时间之和。现在,小M找到了所有同学的点菜信息: 有$p_i$个同学点了第$i$种菜品($i=1,2,\ldots,n$)。他想知道的是最小的总等待时间是多少。