Problem K. Jelly 和狗头人的地下世界

Jelly 有一次找到了狗头人的地下世界,那里充斥着无数的奇珍异宝,他倾尽全力想带走一些,无奈被狗头人国王托瓦格尔发现了。托瓦格尔国王佩服聪颖的人,于是他将 Jelly 关进了一个迷宫中,决定考验一下 Jelly 。迷宫可以抽象为一个 行 列的网格矩阵,矩阵的每个格子都代表一个房间。房间分为2 种:一种房间里放置了价值为 的宝藏( i,j 分别表示该房间的行号和列号);而另一种房间设了致命的陷阱,一旦进去必死无疑(用 -1表示)。Jelly 初始位置在迷宫的左上角(即 房间),题目保证 Jelly 初始位置为安全房间。狗头人的世界尊敬勇者,所以 Jelly 被要求只能向右或者向下移动,且不能走出迷宫。Jelly 每次只能移动到当前房间的相邻房间(右边或者下面),他进入一个安全房间便会将这个房间的宝藏全部装进口袋。

本着过犹不及的想法,托瓦格尔国王要求 Jelly 只能带走价值总和为 的宝藏。Jelly 想知道他究竟有多少种不同的走法能使得他在活着的前提下,得到价值总和恰好为 的宝藏,聪明的你能帮帮他吗?输入第一行输入一个整数 ,表示有 组测试数据。对于每组测试数据:第一行输入三个整数 m,n ,k 。 m和n 表示迷宫的行数和列数,k 表示 Jelly 被要求得到的价值和。接下来 m行每行输入 n个整数,-1表示该位置的宝藏的价值或者是危险房间,中间用空格分隔开。输出对于每组测试数据:输出一个整数,表示 Jelly 有多少种不同的走法。由于答案较大,请将答案对 19260817取模后再输出。

思路:刚开始用dfs,超时了,后来丑彬说是很水的dp,想了想就敲出来了。水在主人公只能向右或向下,恰好对应了dp的无后效性;,某一点(i,j)的状态只由i-1,j与i,j-1决定(除i==0和j==0),如果不止两个方向,dp是行不通的;

dp[i][j][k]代表从 起始点到 i,j主人公所携带价值恰好为k时的路数,例如,在2,3点有价值为q的财宝,那么主人公到此处恰好又有k财宝的状态只由主人公在1,3点的k-q财宝和在2,2点的k-q财宝的状态共同决定(相加);

#include <iostream>
#include <string.h>
using namespace std;
typedef long long ll;
const int mod=19260817;
ll dp[60][60][1010];
ll a[60][60];
int main()
{std::ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);ll m,n,k,sum,t;cin>>t;while (t--){cin>>m>>n>>k;for (int i=0;i<m;i++)for (int j=0;j<n;j++)cin>>a[i][j];memset(dp,0,sizeof(dp));sum=0;dp[0][0][a[0][0]]=1;for (int i=0;i<m;i++)for (int j=0;j<n;j++){if (i==0&&j==0)continue;if (a[i][j]==-1)continue;for (int s=0;s<=k;s++){if (s>=a[i][j]){if (i==0)dp[i][j][s]=dp[i][j-1][s-a[i][j]]%mod;else if (j==0)dp[i][j][s]=dp[i-1][j][s-a[i][j]]%mod;else dp[i][j][s]=(dp[i][j-1][s-a[i][j]]+dp[i-1][j][s-a[i][j]])%mod; //注意可能会超,必须不断模除,因为没加错了一次}}}for (int i=0;i<m;i++)for (int j=0;j<n;j++)sum=(sum+dp[i][j][k])%mod;cout<<sum<<endl;}return 0;}

zufe 2527问题 K: Jelly与狗头人的地下世界相关推荐

  1. ZUFE 2017院赛 - Problem K: Jelly与狗头人的地下世界 (DP)

    一个简单的DP. 只能往下和往右传递. 对DP不够敏感,打院赛的时候用记忆化搜索过的,浪费不少时间. #include <iostream> #include <stdio.h> ...

  2. 2022-2028年中国K酸行业发展现状及前瞻分析报告

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了K酸行业相关概述.中国K酸行业运行环境.分析了中国K酸行业的现状.中 ...

  3. android bitmap 色温,3A之自动白平衡(AWB)篇

    在手机相机的专业模式中,可以看到有一个白平衡(WB)调节的选项 什么是AWB 人眼视觉系统具有颜色恒常性的特点,对物体的观察不受光源的影响.本质上是白色的物体,在不同色温,反射光线颜色不同的场景下,经 ...

  4. 【Math】P=NP问题

    文章目录 **P vs NP** **0 P=NP基本定义** 0.1 Definition of NP-Completeness 0.2 NP-Complete Problems 0.3 NP-Ha ...

  5. 写论文神器APEX-NET:自动重新绘制图像

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达小白导读论文是学术研究的精华和未来发展的明灯.小白决心每天为大家带来 ...

  6. 2020年SAP项目艰辛曲折的开工历程 II

    三,肺炎疫情期间在家自行隔离,翘首期盼新项目开工 从2020年春节第一天开始,气氛越来越紧张.全国开始了一场抗击肺炎疫情的人民战争,居民要求在家自行隔离,不允许出门串门走亲戚,不允许外出聚餐,吃喝玩乐 ...

  7. 人类历史上最伟大的物理学家

    全世界只有3.14 % 的人关注了 爆炸吧知识 一沙见世界  一花窥天堂 手心握无限  须臾纳永恒 杨振宁曾说 读上面的四句诗 可以感受到物理的美 但物理的美不止于此 物理还有一种庄严美 一种神秘美 ...

  8. 物理学上最厉害的54个男人!2400年来难以超越,没想到聚在一起后这么震撼......

    全世界只有3.14 % 的人关注了 爆炸吧知识 19世纪的最后一天 电子的发现者汤姆生发表了新年祝词: "晴朗的天空远处,有两朵令人不安的乌云 令物理学的优美性和明晰性黯然失色" ...

  9. 图嵌入综述 (arxiv 1709.07604) 译文五、六、七

    应用 图嵌入有益于各种图分析应用,因为向量表示可以在时间和空间上高效处理. 在本节中,我们将图嵌入的应用分类为节点相关,边相关和图相关. 节点相关应用 节点分类 节点分类是基于从标记节点习得的规则,为 ...

最新文章

  1. 从入门到精(fang)通(qi)第5期 我们的征途是星辰大海
  2. 显卡花屏显存测试软件6,显卡花屏诊断好帮手:Video Memory Stress Test
  3. 如何科学的使用华为云
  4. easyui 年份下拉框的构建
  5. 多目标进化优化_科研一角|论文分享 | 等离子喷焊工艺参数多目标优化
  6. C++ 从入门到入土(English Version)Section3: Real numbers + bitwise operations
  7. 5101是多大的电阻_贴片电阻1206-5101(5.1K) 1206
  8. mysql调查问卷_mysql – 解密数据库ER图用于问卷调查
  9. wps/word中怎么插入各种水平分隔线
  10. 从基础描述无刷直流电机的工作原理
  11. 中国大陆加港澳台手机正则验证
  12. win10电脑不显示WIFI
  13. Python爬虫:AcFun弹幕视频网!太清晰了!
  14. Altium 设置覆铜与板框间距
  15. 鸿蒙os现在好用吗,全球首批!升级使用鸿蒙OS真实反馈评价出炉:差评/好评都很真实...
  16. Python基础——csv文件中某列数据替换为数字
  17. Qgis 使用QuickOSM插件导入开源地图
  18. 根据GPS数据的经纬度取天气预报和地名
  19. 电子信息工程学不学python_电子信息工程小白转行深度学习
  20. php重力传感器,HTML5中如何调用手机重力感应的接口

热门文章

  1. 小圆象PDF:图片转pdf在线转换器有哪些?照片怎么变成PDF文件?
  2. 魔百和CM311-1sa_ZG_S905L3A_安卓9.0_纯净线刷固件包
  3. Disruptor并发框架,核心组件RingBuffer
  4. 电脑文件怎么显示后缀名
  5. 格签名相似概念区分: SVP、SIS、LWE的区分
  6. 词霸天下---词根227【-gress- = -grad- = -gred- = -gre(e)- 步,走】
  7. 使用screen保持程序在背景继续运行
  8. 电镀行业水处理分析:褪镀废水回收重金属,用什么工艺解决
  9. 隐忍成大事:春秋五霸楚庄王必成雄主之谜
  10. 小程序源码整理最新的学习小程序的源码清单包含前后台