一道信息学的NOIP模拟题,求题解 求详解 PROCESSOR现在有一块超级处理器,需要处理N个A类任务,M个B类任务.处理器在连续地处理同一类任务时运算时间等于任务量的运算的时间的平方.即连续X个A

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 05:53:13
一道信息学的NOIP模拟题,求题解 求详解 PROCESSOR现在有一块超级处理器,需要处理N个A类任务,M个B类任务.处理器在连续地处理同一类任务时运算时间等于任务量的运算的时间的平方.即连续X个A

一道信息学的NOIP模拟题,求题解 求详解 PROCESSOR现在有一块超级处理器,需要处理N个A类任务,M个B类任务.处理器在连续地处理同一类任务时运算时间等于任务量的运算的时间的平方.即连续X个A
一道信息学的NOIP模拟题,求题解 求详解 PROCESSOR
现在有一块超级处理器,需要处理N个A类任务,M个B类任务.
处理器在连续地处理同一类任务时运算时间等于任务量的运算的时间的平方.即连续X个A任务或B任务,则对应的运算时间为X^2;
处理器在每次进入A或B的工作状态(连续同一类任务)前,都要花费一定的启动时间,我们用TA,TB分别表示处理器A,B的启动时间.
问处理完 所有任务最少需要多少时间.
输入
4个正整数
N,M,TA,TB;
输出
输出运算完所有任务的最小时间.
样例
PROCESSOR.IN 5 6 100 1
PROCESSOR.OUT 145
(样例详解:
先 B 任务 3 单位时间 再完成A任务 再完成B任务
1+3^2+100+5^2+1+3^2=145)
1

一道信息学的NOIP模拟题,求题解 求详解 PROCESSOR现在有一块超级处理器,需要处理N个A类任务,M个B类任务.处理器在连续地处理同一类任务时运算时间等于任务量的运算的时间的平方.即连续X个A
0、判断N、M大小,不妨设N>M
1、记S1=kTA+kTB+k(N/k)^2+k(M/k)^2;S2=(p+1)TA+pTB+k(N/p+1)^2+k(M/p)^2;S3=qTA+(q+1)TB+k(N/q)^2+k(M/q+1)^2
2、问题转化为求自然数k、p、q使S1、S2、S3最小
3、而k(p、q同理)的取值,应该在使得TA+TB=(N/k)^2附近
4、记k'=N/根号下(TA+TB),记k''=k'取整,则k的取值可以试k''-2到k''+2这5个数.【个人感觉只需要取k''-1、k''、k''+1就行了】从而求出最小的S1.
5、同理可以求出最小的S2、S3
6、取S1、S2、S3中最小值即为答案.