HDU1078 dfs+dp

ROS 2 + Astra Pro深度相机实战:5分钟搞定远程可视化与距离检测(附避坑指南) 本文提供了一份详尽的ROS 2与Astra Pro深度相机集成实战指南。通过5分钟快速部署,实现远程可视化与实时目标距离检测。文章涵盖驱动安装、SSH+X11远程调试、核心测距节点编写,并附有详细的避坑指南,帮助开发者高效构建机器人视觉感知系统。 阅读详情

Description

FatMouse has stored some cheese in a city. The city can be considered as a square grid of dimension n: each grid location is labelled (p,q) where 0 <= p < n and 0 <= q < n. At each grid location Fatmouse has hid between 0 and 100 blocks of cheese in a hole. Now he’s going to enjoy his favorite food.

FatMouse begins by standing at location (0,0). He eats up the cheese where he stands and then runs either horizontally or vertically to another location. The problem is that there is a super Cat named Top Killer sitting near his hole, so each time he can run at most k locations to get into the hole before being caught by Top Killer. What is worse – after eating up the cheese at one location, FatMouse gets fatter. So in order to gain enough energy for his next run, he has to run to a location which have more blocks of cheese than those that were at the current hole.

Given n, k, and the number of blocks of cheese at each grid location, compute the maximum amount of cheese FatMouse can eat before being unable to move.

Input

There are several test cases. Each test case consists of

a line containing two integers between 1 and 100: n and k
n lines, each with n numbers: the first line contains the number of blocks of cheese at locations (0,0) (0,1) … (0,n-1); the next line contains the number of blocks of cheese at locations (1,0), (1,1), … (1,n-1), and so on.
The input ends with a pair of -1’s.

Output

For each test case output in a line the single integer giving the number of blocks of cheese collected.

Sample Input

3 1
1 2 5
10 11 6
12 12 7
-1 -1

Sample Output

37

第一次dfs+dp
稍微有点蒙…
按照dp思想一开始强行状态转移…
疯狂tle
后来想想也对
我更新每一个值….
2^n的复杂度
数据量一万
那不是找死么…
后来还是选择了这种dfs+dp的方式
把每条路径里最大的那条转移了状态就可以了

#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstdio>
#include<string>
using namespace std;
int zhi[101][101];
int dp[101][101];
int n, k;
int sum;
int dfs(int a, int b)
{
    int sum = 0;
    int x = a, y = b;
    if (dp[a][b]==0)
    {
        for (int c = -k;c <= k;c++)
        {
            if (k==0)continue;
            if (x + c >= 1 && x + c <= n&&zhi[x + c][y] > zhi[x][y])sum = max(sum, dfs(x + c, y));
            if (y + c >= 1 && y + c <= n&&zhi[x][y + c] > zhi[x][y])sum = max(sum, dfs(x, y + c));
        }
        dp[x][y] = sum+zhi[x][y];
        return dp[x][y];
    }
    else return dp[x][y];
}
int main()
{
    while (cin >> n >> k)
    {
        if (n == -1)break;
        sum = 0;
        memset(dp, 0, sizeof(dp));
        memset(zhi, 0, sizeof(zhi));
        for (int a = 1;a <= n;a++)for (int b = 1;b <= n;b++)scanf("%d", &zhi[a][b]);
        cout <<dfs(1,1) << endl;
    }
    return 0;
}
wincc 服务器授权型号,WinCC V7.5 SP1软件安装及授权方法 上篇教程给大家介绍了TIA Portal V16 安装方法,今天分享一下WinCC V7.5 SP1。目前V7.5 SP1是WinCC最新的版本,发布时间2019年11月13日。先放一个官网对WinCC V7.5 的介绍视频,感兴趣的可以先看一下。1、软件下载官网下载链接:https://support.industry.siemens.com/cs/document/109772879五个文件下... 阅读详情

相关推荐

别再手动算K值了!ZEMAX中两种锥透镜建模方法详解(标准面 vs. 轴锥面)

本文详细解析了ZEMAX中锥透镜的两种建模方法:标准面与轴锥面。通过对比两者的精度、计算效率和适用场景,帮助工程师在激光整形、光束匀化等应用中做出最优选择,并提供了参数设置和异常排查的实用技巧。

weixin_42548874的博客 320

FatMouse and Cheese题解

FatMouse has stored some cheese in a city. The city can be considered as a square grid of dimension n: each grid location is labelled (p,q) where 0 <= p < n and 0 <= q < n. At each grid ...

素璃的博客 475

GEOPHYSICS 投稿避坑指南:从格式规范到双盲评审的实战解析

本文详细解析了GEOPHYSICS期刊投稿的全流程避坑指南,从格式规范、数据声明到双盲评审的实战策略。特别强调了数学公式排版、图表制作标准以及投稿系统的隐藏关卡,帮助作者避免常见错误,提升投稿成功率。

weixin_30606461的博客 236

Fatmouse and cheese

Problem Description FatMouse has stored some cheese in a city. The city can be considered as a square grid of dimension n: each grid location is labelled (p,q) where 0 <= p < n and 0 <= q < n. At each grid location Fatmouse has hid between 0 an

weixin_54501632的博客 267

Cocos Creator实战:5步搞定棋牌游戏大厅场景开发(附完整代码)

本文详细介绍了使用Cocos Creator 3.8开发棋牌游戏大厅的5个关键步骤,包括工程配置、动态UI系统实现、核心交互功能开发、性能优化及调试发布技巧。通过模块化代码和实战案例,帮助开发者快速构建高交互性的棋牌游戏大厅,提升用户留存率。

weixin_29002209的博客 353

宝骏kiwi 630 730 560 E100 E200 E300 310 510 610 330 530维修手册电路图资料线路图接线图更新

2020-2022年宝骏RS-3维修手册和电路图。2020-2022年宝骏RS-3维修手册和电路图。2019-2021年宝骏RC-6维修手册和电路图。2019-2021年宝骏RC-6维修手册和电路图。2019-2020年宝骏RS-5维修手册和电路图。2019-2020年宝骏RS-5维修手册和电路图。2019-2020年宝骏RM-5维修手册和电路图。2019-2020年宝骏RM-5维修手册和电路图。2019-2021年宝骏510维修手册和电路图。2019-2021年宝骏510维修手册和电路图。

weixin_45821055的博客 1771

DEV C++ 青少年信息学While未知次数循环

/带小数则,sum和i,以及1.0都是小数类型。while(sum<=X){ //不限次数,而是拿结果作比较来决定是否退出循环。求恰好使s=1+1/2+1/3+…+1/n的值大于X时n的值。(2<=x<=10)

ECHO_QS的博客 593

Drools vs URule:5个真实项目场景告诉你如何选择开源规则引擎

本文通过电商风控、物流计费、会员体系、保险定价和物联网告警五个真实项目场景,深度对比了Drools与URule两款开源规则引擎。分析了两者在规则复杂度、性能表现、开发运维及适用场景上的核心差异,为技术选型提供基于实战的决策指南。

k6l7m8n9的博客 944

【HUSTOJ】1030: 恰好使s=1+1/2+1/3+…+1/n的值大于X时n的值

1030: 恰好使s=1+1/2+1/3+…+1/n的值大于X时n的值 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 71  Solved: 51 原题链接 Description 求恰好使s=1+1/2+1/3+…+1/n的值大于X时n的值。(2 Input 输入只有一行,包括1个整数X。 Output

cisordeng's space 4408

YOLOv13:目标检测的全面攻略与实战指南

本文是关于 YOLOv13 的全攻略文章。先回顾 YOLO 系列发展,点明 YOLOv13 在该系列中的创新地位,阐述其基于 HyperACE、FullPAD 和轻量级卷积替换等技术的独特优势。深入剖析各核心技术原理,通过与其他版本及实际场景对比展现其性能优势。介绍项目结构与使用方式,分享数据增强、锚框优化等实用技巧,并列举安防监控、自动驾驶等领域应用案例。最后总结 YOLOv13 价值,展望目标检测技术未来发展趋势,为读者提供全面的 YOLOv13 学习与实践指导。

邓邓子的博客 3434

基于FISCO BCOS 部署可升级的 Solidity存证智能合约

本文介绍了基于FISCOBCOS平台的可升级Solidity存证智能合约实现方案。采用透明代理模式,包含逻辑合约、代理合约和管理合约三部分,支持业务逻辑升级而不影响存储数据。详细阐述了合约架构设计、Solidity代码实现、Go SDK交互流程以及完整的部署升级步骤。方案具有数据持久性、版本兼容性和生产就绪等特点,提供了权限控制、输入验证等安全机制,并包含监控管理工具。该实现为企业级区块链存证应用提供了可靠的基础架构,支持后续功能扩展和定制化开发。

分享AI、区块链技术及应用,未来已来 1514

HDU1078:记忆搜索(dp+dfs)

题意:在n*n的格子上,每个点各有若干块奶酪,胖老鼠从左上角出发, 每次最多走k步(只能直走),且下一点必须比这一点的奶酪多,问最多能吃到多少块奶酪。#include #include #include #include #include #include using namespace std; #define E 2.718281828459 int dp[105][105]; int

不吸血的Vampire 805

自动驾驶大模型---小米&华科的ORION端到端方案

本文介绍了小米汽车与华中科技大学联合开发的ORION自动驾驶端到端方案。该框架创新性地将视觉语言模型(VLM)与自动驾驶系统结合,包含QT-Former特征提取模块、大语言模型(LLM)推理模块和生成式规划器三大核心组件。通过视觉感知与语言理解的深度融合,ORION能更准确地理解人类指令并生成合理轨迹,同时提升系统的可解释性。实验证明,该方案在准确性、泛化能力和决策透明度方面均有显著优势。ORION框架为自动驾驶技术提供了新思路,有望推动行业向更安全、智能的方向发展。

智能汽车人的博客 2005

HDU 1078 FatMouse and Cheese ( DP, DFS)

HDU 1078 FatMouse and Cheese ( DP, DFS) 题目大意 给定一个 n * n 的矩阵, 矩阵的每个格子里都有一个值. 每次水平或垂直可以走 [1, k] 步, 从 (0, 0) 点开始, 下一步的值必须比现在的值大. 问所能得到的最大值. 解题思路 一般的题目只允许 向下 或者 向右 走, 而这个题允许走四个方向, 所以状态转移方程为 dp(x, y) ...

afnt38230的博客 174

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

HDU1078.FatMouse and Cheese(dp+dfs)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1078 题意:给出n和k,n*n的矩阵中每一个位置都有一些奶酪,小老鼠每次行动最多走k个方格,且每次行动都要比上一次行动时吃到的奶酪数量多,问小老鼠最多可以获得多少奶酪 解题思路:dp[i][j]表示到达位置(i,j)时可以获得的最多的奶酪数,小老鼠从(0,0)位置开始,每移动到一个位置进行一次dfs,然后递归回溯 #include<iostream> #include<cstdio> #

Buyi的博客 211

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

HDU - 1078

HDU 1078 FatMouse and Cheese Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2812 Accepted Submission(s): 1089 Problem Description FatMouse has st...

qq_18952045的博客 209

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【HDU1078】dfs+dp

1.题目链接。题目大意:有一个方格,每个格子中储存了一定数量的食物,老鼠在这个格子上吃食物,它可以上下左右四个方向走,每次最多走k步,并且下一步格子储存的食物一定要比当前所在的这个格子的数量多。那么求解老鼠最多可以吃到多少食物。 2.5555,这题虽然不难,但是有点坑,写了半天。。。。首先时坐标合法性检查的问题,一定要线检查坐标是不是在格子内,再检查是不是可以走。否则就会re。。。再者就是dfs...

YG爱木木 319

HDU1078(DFS+DP)

Problem Descption FatMouse has stored some cheese in a city. The city can be considered as a square grid of dimension n: each grid location is labelled (p,q) where 0 <= p < n and 0 <= q <...

weixin_43966635的博客 164

hdu 1078(dfs+dp)

题意:可以向任何方向最多走k步,求最大价值。 代码如下: #include #include #define MAX 110 #define Min(a,b) a<b?a:b #define Max(a,b) a>b?a:b int n,k; int map[MAX][MAX]; int dp[MAX][MAX]; int to[4][2] = {1,0,-1,0,0,1,0,-1}; in

dpy95的博客 412

hdu1078(dp+dfs)

FatMouse and CheeseTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9586    Accepted Submission(s): 4039Problem DescriptionFatMouse has stored so...

keep coding 1010

hdu1078——FatMouse and Cheese(dfs+dp)

题目:click me~ 题意: 在n*n的矩阵中,FatMouse从(0,0)出发,每次只能走上下左右四个方向,一步最多k格,而且跳到下一格必须满足条件:下一格的奶酪>本格的奶酪。要求能吃到的最大奶酪数。 解题思路: 用dp配合dfs来实现,dp[i][j]表示从(i,j)格出发能够吃到的最大奶酪数,整体还是用dfs来操作,套两层循环,第一层表四个方向,第二层表总共走几格。 co...

weixin_43719720的博客 240

HDU1078-dp和dfs结合

FatMouse and CheeseTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13270    Accepted Submission(s): 5549Problem DescriptionFatMouse has stored s...

z1164754004z的博客 320

hdu1078 FatMouse and Cheese(dp+dfs)

题目描述 题意:一只老鼠在一个n*n的地图上吃东西,每次只能垂直或者水平走,且下次要走的格子上的食物数量必须大于当前所在格子的食物数量,每次前进不能超过k格,求老鼠所能吃到的食物数量最多是多少 dp+dfs的结合,需要记住这类题型 #include<cstdio> #include<cstring> #include<algorithm> using names...

弋墨尘的博客 163

HDU - 1078 FatMouse and Cheese (DFS+DP)

FatMouse has stored some cheese in a city. The city can be considered as a square grid of dimension n: each grid location is labelled (p,q) where 0 &amp;amp;lt;= p &amp;amp;lt; n and 0 &amp;amp;lt;= q &amp;amp;lt; n. At each grid lo...

洛 水 213

FatMouse and Cheese HDU - 1078(dfs + dp)

有一种游戏是的玩法是这样的:有一个n*n的格子,每个格子有一个数字。遵循以下规则:1. 玩家每次可以由所在格子向上下左右四个方向进行直线移动,每次移动的距离不得超过m2. 玩家一开始在第一行第一列,并且已经获得该格子的分值3. 玩家获得每一次移动到的格子的分值4. 玩家下一次移动到达的格子的分值要比当前玩家所在的格子的分值要大。5. 游戏所有数字加起来也不大,保证所有数字...

weixin_30755709的博客 141

HDU 1078 dfs+dp

题目大意: 在n*n的矩阵中,每个格子放置了一定数量的食物,一只老鼠每次水平或竖直最多移动k格,每次到的位置食物都要比前一次多,问最后一共能得到多少食物 这道题利用记忆化搜索做,利用nowstate不断记录下一个位置所能到达的最大值,利用nowstate+mat[i][j](当前区域中所含的食物数量)得到dfs的值 每次dfs返回的都是当前点到最终结点所能得到的食物总量...

weixin_30822451的博客 102
上一篇: POJ1661 神坑卧槽!!
下一篇: POJ3666 离散化的dp
NineFailure
博客等级 码龄11年 22粉丝 317原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值