您当前的位置: 首页 >  动态规划

HeartFireY

暂无认证

  • 2浏览

    0关注

    334博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

P2196 [NOIP1996 提高组] 挖地雷 线性动态规划DP 题解

HeartFireY 发布时间:2021-01-27 19:01:13 ,浏览量:2

原题链接:[P2196 NOIP1996 提高组] 挖地雷 - 洛谷)

题目分析

看到这道题,首先感觉是个搜索,如果数据范围不大应该没问题。但是,,,我没找到数据范围啊喂~

那就动态规划一下,先用二维数组存一下联通性,然后用 d p [ i ] dp[i] dp[i]表示以第 i i i个地窖结尾的最大值,则不难推出状态转移方程: d p [ i ] = m a x ( d p [ j ] + v a l [ i ] , d p [ i ] ) dp[i] = max(dp[j] + val[i], dp[i]) dp[i]=max(dp[j]+val[i],dp[i]) 此外,由于要输出路径,因此需要额外记录前驱,前驱可以递归输出,也可以打循环转制输出。

AC Code
#include 
using namespace std;
const int N = 30;
int val[N], g[N][N], dp[N], q[N], fro[N];
int ans = 0;


int main(){
    int n = 0; cin >> n;
    for(int i = 1; i > val[i];
    for(int i = 1; i             
关注
打赏
1662600635
查看更多评论
0.0371s