关注
第四题,仅供参考: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
相关推荐
牛客热帖
更多
正在热议
更多
# 这个offer值得去吗? #
18515次浏览 170人参与
# 字节开奖 #
148745次浏览 662人参与
# 联宝杯大学生创新大赛,你的技术值得产业级答案 #
47205次浏览 513人参与
# 如果春招能重来,我会___ #
19494次浏览 205人参与
# 薪资爆料 #
421536次浏览 2223人参与
# 除了线上,还能去哪些地方投简历 #
10717次浏览 110人参与
# 刚工作的你,踩过哪些坑? #
46406次浏览 295人参与
# HR问:你期望的薪资是多少?如何回答 #
99095次浏览 830人参与
# 大学四年该怎么过,才不算浪费时间? #
23586次浏览 104人参与
# 一份好的简历长什么样? #
41766次浏览 505人参与
# 你面试被问到过哪些不会的问题? #
122190次浏览 1944人参与
# 今年形式下双非本找得到工作吗 #
328493次浏览 1774人参与
# 诺瓦星云求职进展汇总 #
258713次浏览 1743人参与
# 双非本科求职如何逆袭 #
1645227次浏览 13056人参与
# 你觉得实习能学到东西吗 #
153914次浏览 1493人参与
# 职场破防瞬间 #
381530次浏览 2847人参与
# 你被哪些公司挂了? #
193011次浏览 1043人参与
# 实习最晚的一次下班是几点 #
35799次浏览 171人参与
# 字节求职进展汇总 #
1844854次浏览 15382人参与
# 26届校招投递进展 #
669951次浏览 3953人参与
# 双非应该如何逆袭? #
583728次浏览 6372人参与
