笔下文学

字:
关灯 护眼
笔下文学 > 无人驾驶帝国 > 第一百九十二章 道路游戏

第一百九十二章 道路游戏

第一百九十二章 道路游戏 (第2/2页)

【思路】
  
  用一维数组f储存第i秒能获得的最大钱数
  
  因为最多同时存在1个机器人
  
  第i秒时第j个机器人走k次(1
  
  #include
  
  #include
  
  usingnamespacestd;
  
  intn,m,p,b[1001],a[1001][1001],f[1001];
  
  intmain()
  
  {
  
  scanf(“%d%d%d“,&n,&m,&p);
  
  memset(f,-1000000,sizeof(f));f[0]=0;
  
  for(inti=1;i<=n;i++)for(intj=1;j<=m;j++)scanf(“%d“,&a[i][j]);
  
  for(inti=1;i<=n;i++)scanf(“%d“,&b[i]);
  
  for(inti=1;i<=m;i++)
  
  for(intj=1;j<=n;j++)
  
  {
  
  intt=j-1;
  
  if(!t)t=n;
  
  intss=a[t][i];
  
  for(intk=1;k<=p;k++)
  
  {
  
  if(i-k<0)break;
  
  f[i]=max(f[i],f[i-k]+ss-b[t]);
  
  t--;
  
  if(!t)t=n;
  
  ss+=a[t][i-k];
  
  }
  
  }
  
  printf(“%d“,f[m]);
  
  return0;
  
  }
  
  【数据范围】
  
  对于40%的数据,2≤n≤40,1≤m≤40。
  
  对于90%的数据,2≤n≤200,1≤m≤200。
  
  对于100%的数据,2≤n≤1000,1≤m≤1000,1≤p≤m。
  
  【做法说明】
  
  题目呢,比较长,信息比较多,注意不要看错题。但是呢还是比较轻易可以看出这是dp题的类型。
  
  dp[i][j]表示时间i在j点的最大收益,pre[j]表示j点的上一个,mx[i]表示在时间i所有位置的最大收益(因为买机器人是任意位置可买,转移时直接用即可),g[i][j]表示状态(i,j)取最优解时走的步数(这个明显是越小越好啦),最后输出max(dp[m][i])。
  
  王老师说:“高中驾驶学科奥赛,要更多地运用到数学与信息学的知识,请大家有机会课外都多补一补这方面的知识。”
  
  沈笑夫心里一阵咯噔,数学和信息学,要加油啊!
  
  这时,坐在旁边的一个男生对沈笑夫说:“沈笑夫,我是汽车三班的刘李阳,请多关照!”
  
  沈笑夫侧目一看,这个男生脸色白净,头发新潮,一脸虔诚地看着自己。
  
  沈笑夫点点头说:“互相关照!”
  
  “有你这个大佬罩着,我心里有谱了,呵呵!”刘李阳笑着说。
  
  ……
  
  下课后,沈笑夫眼前出现了驾驶学科奥赛系统显示屏:
  
  学科:L1,288/1000
  
  ??体能:L1,97/100
  
  情绪:L1,89/100
  
  任务:0
  
  奖励:奖励记忆胶囊一粒。请点击“兑奖”键领取奖励。
  
  学科、奖励栏的背景亮着光,说明这两项有了变化!其他栏目背景灰暗,说明没有变化。
  
  学科栏从284到288,增加了4个点,是这几天学习驾驶学科知识的收获。
  
  奖励栏再次出现久违的记忆胶囊!
  
  沈笑夫有些鸡冻,轻轻点击“兑奖”键,屏幕里立马滚出一粒蓝色的记忆胶囊!
  
  好!
  
  记忆胶囊在手,复杂的信息学,也就容易了!
  
  麻烦的数学,也不会那么麻烦了!
  
  沈笑夫嘴角露出了开森的笑容!
  
  ()
  
  
『加入书签,方便阅读』
热门推荐
极品全能学生 凌天战尊 御用兵王 帝霸 开局奖励一亿条命 大融合系统 冷情帝少,轻轻亲 妖龙古帝 宠妃难为:皇上,娘娘今晚不侍寝 仙王的日常生活