| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1090 人关注过本帖
标题:cpu批作业调度问题!
只看楼主 加入收藏
太阳之神剑
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-5-29
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
cpu批作业调度问题!
请有能力的多帮帮我!希望能给我一些指导!

数据结构与算法实验题14.3批作业调度问题
实验任务:
单CPU计算机上的CPU在任何时刻只能处理一个作业。抢占式任务调度可以随时中断
当前作业,转而处理另一作业,等CPU 空闲时再继续执行原来的作业。假设有n 个作业
{1,2,…, n }由CPU 按照抢占式任务调度进行处理。每个作业j 有一个开始时间为s( j),和
处理作业所需的CPU时间为t( j),1 < j < n。作业j在开始时间s( j)之后可以开始处理,
并用CPU时间t( j)进行处理后完成。
设CPU 起始时间为0。在一个作业调度s 中,作业j 从开始时间0到处理结束经过的时
间为c(j) ,则作业调度s 所需的完成时间和为c(j)之和,其中j从1到n。
批作业调度问题要求确定这n 个作业的最优调度,使得所需的完成时间和最小。试设计
一个解此问题的算法,并分析算法的正确性和计算复杂性。
输入格式:
输入数据第1 行是正整数n(1<=n<=200000),表示作业数。接下来的n行中,每行有2个
正整数s和t,分别表示作业的开始时间,和处理作业所需的CPU时间。
输出格式:
将计算出的最小完成时间和输出。
输入示例
5
1 4
3 1
5 1
2 1
2 1
输出文件示例
27
搜索更多相关主题的帖子: cpu 作业 调度 问题 
2010-06-07 23:43
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:20 
按照finish 时间拍序

动态规划。
2010-06-08 00:18
太阳之神剑
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-5-29
收藏
得分:0 
以下是引用Devil_W在2010-6-8 00:18:07的发言:

按照finish 时间拍序
 
动态规划。
不是很明白,能说的详细些吗?我是初学者!拜托了!
2010-06-08 14:20
太阳之神剑
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-5-29
收藏
得分:0 
#include <iostream>
#include <algorithm>
using namespace std;
struct node
{
    int c1,c2;
    bool operator<(const node&x) const
    {
        if (c1==x.c1)
        {
            return c2>x.c2;
        }
        else return c1<x.c1;
    }
}que[200001];
int array[6000001];
int main()
{
    int n,i;
    int x,y;
    _int64 ans=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%d%d",&que[i].c1,&que[i].c2);
    sort(que,que+n);
    for(i=n-1;i>=0;i--)
    {
        x=que[i].c1;
        y=que[i].c2;
        while(y)
        {
            x++;
            if(array[x]==0)
            {
                array[x]=1;
                y--;
            }
        }
        ans+=x;
    }
    printf("%I64d\n",ans);
    return 0;   
}
以上是本题代码,不过200000数据肯定会超时。哪位高手能给优化下···感激不尽!

[ 本帖最后由 太阳之神剑 于 2010-6-10 09:27 编辑 ]
2010-06-09 18:51
快速回复:cpu批作业调度问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028053 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved