关注
第三题解答 AC 100%
思路: DP
import java.util.Scanner;
// 100%
public class Main3 {
static int[] p;
static int[] a;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
double[] p = new double[n];
for (int i =0;i<n;i++){
p[i] = sc.nextDouble();
}
int[] a = new int[n];
for (int i =0;i<n;i++){
a[i] = sc.nextInt();
}
double[][] arr = new double[n+1][n+1];
for (int i=0;i<n+1;i++){
arr[0][i] = 0;
}
for (int i=0;i<n+1;i++){
arr[i][0] = 0;
}
// i表示剩余子弹数量,j表示当前可以选择的子弹数量
// 如j=3, 表示可以选择1,2,3个子弹射击
for (int i=1;i<n+1;i++){
for (int j=1;j<n+1;j++){
// 有的子弹小于可以选择的,直接退化为i,i
if (i<j){
arr[i][j] = arr[i][i];
}else {
double x = p[j-1]*a[j-1]+ p[j-1]*(arr[i-j][j]);// 选择了j个子弹
double y = arr[i][j-1]; // 不选择
arr[i][j] = Math.max(x,y); // 取两者的最大方案
}
}
}
System.out.println(String.format("%.2f",arr[n][n]));
}
}
点赞
相关推荐
点赞 评论 收藏
分享
2025-12-14 15:46
江西财经大学 运维工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 程序员找工作至少要刷多少题? #
2421次浏览 41人参与
# 一张图晒一下你的AI员工 #
826次浏览 29人参与
# 论秋招对个人心气的改变 #
1280次浏览 28人参与
# 为了减少AI幻觉,你注入过哪些设定? #
588次浏览 20人参与
# 刚入职的你踩过哪些坑 #
1030次浏览 21人参与
# 关于春招/暑期实习,你想知道哪些信息? #
1507次浏览 30人参与
# 我现在比当时_,你想录用我吗 #
1356次浏览 25人参与
# 程序员能干到多少岁? #
1748次浏览 35人参与
# AI Coding的使用心得 #
849次浏览 25人参与
# 软开人,秋招你打算投哪些公司呢 #
179140次浏览 1365人参与
# 你的秋招第一场笔试是哪家 #
286853次浏览 2076人参与
# 牛客AI体验站 #
723次浏览 26人参与
# 实习,不懂就问 #
160712次浏览 1429人参与
# 你的工资什么时候发? #
55188次浏览 343人参与
# 帆软软件工作体验 #
11939次浏览 60人参与
# 晒晒你司的新年福利 #
1677次浏览 29人参与
# 你觉得早上几点上班合适? #
95155次浏览 355人参与
# 双非能在秋招上岸吗? #
371781次浏览 1864人参与
# 产品人求职现状 #
319825次浏览 2420人参与
# 今年秋招你收到了多少封邮件? #
34276次浏览 264人参与
查看26道真题和解析