关注
第四题,仅供参考:89通过率
#include<iostream>
(30316)#include<vector>
#include<string>
(30191)#include<sstream>
#include<unordered_map>
(30194)#include<unordered_set>
#include<queue>
//(31144)#include <math.h>
#include <stdio.h>
//(31145)#include<cstdlib>
#include<string.h>
(31146)#include<limits.h>
#include<set>
(30954)#include<thread>
#include<stack>
(31147)#include <numeric>
#include<algorithm>
// system("chcp 65001"); //中文用
using namespace std;
//第四题, Viterbi算法
int main() {
int n, m, k;
scanf("%d %d %d", &;n, &;m, &;k);
vector<int> C(m, 0), A(m, 0), B(m, 0);
for (int i = 0; i < m; ++i) { // 任务所在地点
scanf("%d", &;C[i]);
}
for (int i = 0; i < m; ++i) { // 同地点的收益
scanf("%d", &;A[i]);
}
for (int i = 0; i < m; ++i) { // 不同地点的收益
scanf("%d", &;B[i]);
}
vector<vector<vector<int>>> dp(m, vector<vector<int>>(2, {0,0}));
dp[0][0] = { 0, k }; // 不去做这个任务
if (k == C[0]) {
dp[0][1] = {A[0], C[0]};
}
else {
dp[0][1] = { B[0], C[0] };
}
for (int i = 1; i < m; ++i) {
// 状态转移:
// dp[i][0] = max(dp[i-1][0][0], do[i-1][0][1]) 这一天什么都不做,相等怎么办?
if (dp[i - 1][0][0] > dp[i - 1][1][0]) {
dp[i][0] = dp[i - 1][0];
}
else {
dp[i][0] = dp[i - 1][1];
}
int val1;
if (dp[i - 1][1][1] == C[i]) {
val1 = A[i] + dp[i - 1][1][0];
}
else {
val1 = B[i] + dp[i - 1][1][0];
}
int val2;
if (dp[i - 1][0][1] == C[i]) {
val2 = A[i] + dp[i - 1][0][0];
}
else {
val2 = B[i] + dp[i - 1][0][0];
}
if (val1 > val2) {
dp[i][1] = { val1, C[i] };
}
else {
dp[i][1] = { val2, C[i] };
}
}
printf("%d", max(dp[m - 1][1][0], dp[m - 1][0][0]));
return 0;
}
查看原帖
1 1
牛客热帖
更多
正在热议
更多
# 我的职场心眼子段位 #
6609次浏览 244人参与
# 生物制药/化工校招攻略 #
45462次浏览 289人参与
# 实习最想跑路的瞬间 #
6559次浏览 63人参与
# 上班到公司第一件事做什么? #
54305次浏览 449人参与
# 你找实习最大的坎坷是什么 #
5907次浏览 70人参与
# 视觉/交互/设计百问百答 #
44780次浏览 433人参与
# 你见过最离谱的招聘要求是什么? #
192547次浏览 1421人参与
# 多益网络工作体验 #
46572次浏览 257人参与
# 硬件人秋招的第一个offer #
74432次浏览 1131人参与
# 工作中的卑微时刻 #
13766次浏览 101人参与
# 我的求职精神状态 #
70470次浏览 866人参与
# 你的房租占工资的比例是多少? #
34729次浏览 517人参与
# 硬件人秋招进展 #
201672次浏览 3552人参与
# 2023毕业生求职有问必答 #
174818次浏览 1617人参与
# lastday知无不言 #
53887次浏览 447人参与
# 打工人的辛酸 #
41035次浏览 425人参与
# 牛友故事会 #
731074次浏览 14564人参与
# 大疆求职进展汇总 #
504343次浏览 3289人参与
# 当你面对裁员会如何? #
265872次浏览 2360人参与
# 打工人的精神状态 #
46628次浏览 822人参与