蓝桥杯,省赛,动态规划专题,青蛙,更小的数,松散子序列,接龙数列

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+9;

double x[N],a[N],b[N];
double dp[N][5];

int main()
{
 
  int n;  cin>>n;
  for(int i=1;i<=n;i++) cin>>x[i];
  for(int i=1;i<=n-1;i++)
    cin>>a[i]>>b[i+1];
  dp[1][0]=x[1];
  dp[1][1]=1e6;
  for(int i=2;i<=n;i++)
  {
    dp[i][0]=min(dp[i-1][0]+x[i]-x[i-1],dp[i-1][1]+x[i]-x[i-1]+b[i-1]/1.3); //0表示从第i-1到i根竹竿不走传送门
    dp[i][1]=min(dp[i-1][0]+a[i-1]/0.7,dp[i-1][1]+ (a[i-1]>b[i-1] ? (a[i-1]-b[i-1])/0.7 : (b[i-1]-a[i-1])/1.3));  //1表示从第i-1到i根竹竿走传送门
  }
  if(dp[n][0]>dp[n][1]+b[n]/1.3)
  printf("%.2f",dp[n][1]+b[n]/1.3);
    
  else
    printf("%.2f",dp[n][0]);
  return 0;
}

这段代码是一个动态规划的例子,用于解决一个关于传送门的问题。传送门是指两个竹竿之间的距离,可以通过传送门瞬间到达另一个竹竿。这个问题的目标是从起点到终点,最小化所需的时间。代码中的 dp[i][0] 表示从第 i-1 个竹竿到

相关推荐

  1. day21刷题日记--序列 动态规划

    2024-04-08 11:48:01       13 阅读
  2. 2023年-松散序列(dp)

    2024-04-08 11:48:01       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-08 11:48:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-08 11:48:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-08 11:48:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-08 11:48:01       20 阅读

热门阅读

  1. MongoDB聚合运算符:$minN

    2024-04-08 11:48:01       15 阅读
  2. SqlServer 全文索引

    2024-04-08 11:48:01       14 阅读
  3. HTML:HTML事件汇总

    2024-04-08 11:48:01       17 阅读
  4. Linux Shell:用户配置文件详解

    2024-04-08 11:48:01       14 阅读
  5. MySQL:表的约束(上)

    2024-04-08 11:48:01       16 阅读
  6. 【软设】知识点速记2

    2024-04-08 11:48:01       12 阅读
  7. ffmpeg处理视频命令

    2024-04-08 11:48:01       11 阅读
  8. jenkins参数化构建

    2024-04-08 11:48:01       17 阅读