主题:代码编程
一个小公司--比如说一个具有一台大机器的复印服务公司,面对下面的调度问题。每天早上他们从客户得到一组任务。他们想在这一台机器上以保持他们的客户满意的次序完成这些任务,完成客户i 的任务将用时间ti, 请给出一个调度(即任务的次序)。令Ci 表示任务i 的结束时间。例如,如果任务i是第一个做的,我们有Ci=ti; 如果任务j就在任务i 的后面完成,我们有Cj=Ci+tj, 每一个客户i也有一个给定的权wi, 表示他或她对这个公司的重要性。客户i 的满意度预期依赖于i 的任务的结束时间。因此这个公司决定他们想要对任务合理排序以使得完成时间的带权和\sum_{i=1}^n wi*Ci 最小。
请设计一个有效的算法解决这个问题,即给定n个任务的集合,每个任务具有处理时间ti 和权wi, 你想对任务排序以使得上述带权和最小,用C++语言描述。
请各位大神帮帮忙,我是在是写不出来,谢谢,联系邮箱1145512571@qq.com