当前位置:网站首页>【集训DAY12】Bee GO!【动态规划】【数学】
【集训DAY12】Bee GO!【动态规划】【数学】
2022-07-25 22:24:00 【VL——MOESR】

思路:
我们发现它肯定是走到一个点然后在两个点之间来回走,所以我们设f[i][j]表示走到i,j的路径长度,然后转移m*n次(就可以走到地图每一个点),然后贪心选择每个点相邻的点中权值最大的那一个来回走就行了。
c o d e code code
#include<iostream>
#include<cstdio>
#define re register
#define ll long long
using namespace std;
const ll MAXN = 110;
ll n, m, A, B, k, ans = -1e18;
ll f[MAXN][MAXN], g[MAXN][MAXN], a[MAXN][MAXN];
bool v[MAXN][MAXN], v1[MAXN][MAXN];
int main() {
// freopen("maja.in", "r", stdin);
// freopen("maja.out", "w", stdout);
scanf("%lld%lld%lld%lld%lld", &n, &m, &A, &B, &k);
for(re ll i = 1; i <= n; ++ i)
for(re ll j = 1; j <= m; ++ j)
scanf("%lld", &a[i][j]);
for(re ll i = 0; i <= n + 1; i ++)
for(re ll j = 0; j <= m + 1; j ++) g[i][j] = 0;
g[A][B] = 0, v1[A][B] = 1, v[A][B] = 1;
for(re ll len = 1; len <= n * m; ++ len) {
if(len * 2 > k) break;
for(re ll i = 1; i <= n; ++ i)
for(re ll j = 1; j <= m; ++ j) {
if(i > 1 && v1[i - 1][j] != 0) f[i][j] = g[i - 1][j] + a[i][j], v[i][j] = 1;
if(i < n && v1[i + 1][j] != 0) f[i][j] = max(f[i][j], g[i + 1][j] + a[i][j]), v[i][j] = 1;
if(j > 1 && v1[i][j - 1] != 0) f[i][j] = max(f[i][j], g[i][j - 1] + a[i][j]), v[i][j] = 1;
if(j < m && v1[i][j + 1] != 0) f[i][j] = max(f[i][j], g[i][j + 1] + a[i][j]), v[i][j] = 1;
}
for(re ll i = 1; i <= n; ++ i)
for(re ll j = 1; j <= m; ++ j) {
v1[i][j] = v[i][j] | v1[i][j];
v[i][j] = v1[i][j];
if(v[i][j] == 1) g[i][j] = f[i][j];
ll p = 0;
p = max(a[i + 1][j], max(a[i - 1][j], max(a[i][j + 1], a[i][j - 1])));
if(v[i][j] == 1) ans = max(ans, f[i][j] * 2 - a[i][j] * 1 + (k - len * 2) / 2 * (a[i][j] + p));
}
}
printf("%lld", ans);
return 0;
}
边栏推荐
- ArcGIS中的WKID
- ThreadLocal 总结(未完待续)
- Build commercial projects based on ruoyi framework
- 【集训DAY15】简单计算【树状数组】【数学】
- If it is modified according to the name of the framework module
- Method of converting MAPGIS format to ArcGIS
- Synchronized and volatile
- How is it most convenient to open an account for stock speculation? Is it safe for online account managers to open an account
- Arcgis10.2 configuring postgresql9.2 standard tutorial
- Perform Jieba word segmentation on the required content and output EXCEL documents according to word frequency
猜你喜欢

MapGIS格式转ArcGIS方法

Builder pattern

Win10 set up a flutter environment to step on the pit diary

Method of converting MAPGIS format to ArcGIS

Don't know mock test yet? An article to familiarize you with mock

LabVIEW 开发 PCI-1680U双端口CAN卡

How to implement an app application to limit users' time use?

IPv4地址已经完全耗尽,互联网还能正常运转,NAT是最大功臣!

『SignalR』. Net using signalr for real-time communication

Arcgis10.2 configuring postgresql9.2 standard tutorial
随机推荐
JS interview questions
【集训DAY15】简单计算【树状数组】【数学】
【PMP学习笔记】第1章 PMP体系引论
Jenkins+svn configuration
What is class loading? Class loading process?
[database learning] redis parser & single thread & Model
Ffmpeg plays audio and video, time_ Base solves the problem of audio synchronization and SDL renders the picture
Smart S7-200 PLC channel free mapping function block (do_map)
【Leetcode】502.IPO(困难)
QML module not found
Basic principle of torque motor control
(1) Integrating two mapping frameworks of Dao
什么是分区分桶?
Div drag effect
ORM common requirements
D3.js 学习
VIM usage record
Usage of in in SQL DQL query
(1) DDL, DML, DQL, DCL and common data types
ThreadLocal 总结(未完待续)