scanf(“ddd“,apapn,apap,apapp)
set(f,-1000000,sizeof(f))f[0]=0
for(ti=1iaplt=ni++)for(tj=1japlt=j++)scanf(“d“,apapa[i][j])
for(ti=1iaplt=ni++)scanf(“d“,apapb[i])
for(ti=1iaplt=i++)
for(tj=1japlt=nj++)
{
tt=j-1
if(!t)t=n
tss=a[t][i]
for(tk=1kaplt=pk++)
{
if(i-kaplt0)
eak
f[i]=ax(f[i],f[i-k]+ss-b[t])
t--
if(!t)t=n
ss+=a[t][i-k]
}
}
prtf(“d“,f)
return0
}
【数据范围】
对于40的数据,2≤n≤40,1≤≤40。
对于90的数据,2≤n≤200,1≤≤200。
对于100的数据,2≤n≤1000,1≤≤1000,1≤p≤。
【做法说明】
题目呢,比较长,信息比较多,注意不要看错题。但是呢还是比较轻易可以看出这是dp题的类型。
dp[i][j]表示时间i在j点的最大收益,pre[j]表示j点的上一个,x[i]表示在时间i所有位置的最大收益(因为买机器人是任意位置可买,转移时直接用即可),g[i][j]表示状态(i,j)取最优解时走的步数(这个明显是越小越好啦),最后输出ax(dp[i])。
王老师说:“高中驾驶学科奥赛,要更多地运用到数学与信息学的知识,请大家有机会课外都多补一补这方面的知识。”
沈笑夫心里一阵咯噔,数学和信息学,要加油啊!
这时,坐在旁边的一个男生对沈笑夫说:“沈笑夫,我是汽车三班的刘李阳,请多关照!”
沈笑夫侧目一看,这个男生脸色白净,头发新潮,一脸虔诚地看着自己。
沈笑夫点点头说:“互相关照!”
“有你这个大佬罩着,我心里有谱了,呵呵!”刘李阳笑着说。
……
下课后,沈笑夫眼前出现了驾驶学科奥赛系统显示屏:
学科:l1,2881000
??体能:l1,97100
情绪:l1,89100
任务:0
奖励:奖励记忆胶囊一粒。请点击“兑奖”键领取奖励。
学科、奖励栏的背景亮着光,说明这两项有了变化!其他栏目背景灰暗,说明没有变化。
学科栏从284到288,增加了4个点,是这几天学习驾驶学科知识的收获。
奖励栏再次出现久违的记忆胶囊!
沈笑夫有些鸡冻,轻轻点击“兑奖”键,屏幕里立马滚出一粒蓝色的记忆胶囊!
好!
记忆胶囊在手,复杂的信息学,也就容易了!
麻烦的数学,也不会那么麻烦了!
沈笑夫嘴角露出了开森的笑容!