首页 > 其他分享 >蓝桥杯,省赛,dfs专题,地宫取宝,小朋友崇拜圈,飞机降落

蓝桥杯,省赛,dfs专题,地宫取宝,小朋友崇拜圈,飞机降落

时间:2024-04-05 15:04:21浏览次数:17  
标签:cnt int dfs 蓝桥 55 long 省赛 mx dp

#include<bits/stdc++.h>

using namespace std;
int n,m,k;
int a[55][55];//输入所给数组值所分配的内存空间
int dp[55][55][15][15];//开创记忆化的存储空间
//因为只进行向下走和向右走,所有写成这个样子,不明白的可以在了解以下笛卡尔积,向下是x轴,向右是y轴(一般情况下)
int dx[]={1,0};
int dy[]={0,1};
int p=1e9+7;//索取余数
//dfs()里面写x,y,mx,cnt分别代表更新的坐标,最大值,宝物数目
long long dfs(int x,int y,int mx,int cnt){
    if(x==n&&y==m)  return cnt==k;//这个是结束临界条件,到最后结束跳出
    if(dp[x][y][mx][cnt]!=-1)   return dp[x][y][mx][cnt];//进行记忆化搜索的地方,如果之前保存过这个值就不用再次计算而是直接使用保存过的值(值不会因为后续深搜改变的改变而是不变)
    long long res=0;//后续进行记忆化存储的给予赋值
    for(int i=0;i<2;i++){
    //进行向下或者向右的搜索
        int nx=x+dx[i];
        int ny=y+dy[i];
        if(nx<1||ny<1||nx>n||ny>m)continue;
   //拿这个东西
        if(a[nx][ny]>mx&&cnt<k) res=(res+dfs(nx,ny,a[nx][ny],cnt+1))%p;
   //不拿这个东西
        res=

标签:cnt,int,dfs,蓝桥,55,long,省赛,mx,dp
From: https://blog.csdn.net/2201_75305489/article/details/137368727

相关文章

  • dask读取hdfs文件时报错connect hdfs error
    问题详情:/arrow/cpp/src/arrow/filesystem/hdfs.cc:51:Failedtodisconnecthdfsclient:IOError:HDFShdfsFS::Disconnectfailed,errno:9(Badfiledescriptor)Traceback(mostrecentcalllast):File"/home/tdops/fucheng.pan/ray-code/read.py",line......
  • P8687 [蓝桥杯 2019 省 A] 糖果
    原题链接题解二进制表示每包糖果包含的味道,因为有一种拼接的感觉,然后背包dp,注意这里每个材料不止只能取一个code#include<bits/stdc++.h>usingnamespacestd;intdp[1<<22]={0},candy[105]={0};constintinf=2e9;intmain(){intn,m,k;cin>>n>>m>>k;......
  • [蓝桥杯 2022 国 A] 环境治理(二分 + 弗洛伊德)
        通过题目描述,我们得知如果枚举所有的天数,就不会通过所有的样例,因此我们可以通过二分来列举符合要求的天数,并且我们知道两个城市之间衡量的灰尘度标准就是灰尘度总和最小的那一段路径,也就是说我们需要寻找到权值和最低的那条路径,而我们知道每两个点之间都有路径......
  • lanqiao OJ 3513 岛屿个数(2023省赛)
    原题链接:3.岛屿个数-蓝桥云课(lanqiao.cn)感觉这个题出的真的特别好,考察了对bfs的使用,包括连通性的一系列判断,如果对bfs掌握的不熟练真的很难想出如何下手来做这道题。这里我们需要用海水来进行bfs,海水可以渗透,也就是说可以走8个方向,因为我们要从任意一个边界点出发,所以我......
  • 【蓝桥杯选拔赛真题56】C++求位数 第十四届蓝桥杯青少年创意编程大赛 算法思维 C++编
    目录C++求位数一、题目要求1、编程实现2、输入输出二、算法分析三、程序编写四、程序说明五、运行结果六、考点分析七、推荐资料C++求位数第十四届蓝桥杯青少年创意编程大赛C++选拔赛真题一、题目要求1、编程实现给定一个正整数N(1<N<10^8),输出N为几位数2、......
  • PYTHON蓝桥杯——每日一练(简单题)
    题目查找整数给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式第一行包含一个整数n。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第三行包含一个整数a,为待查找的数。输出格式如果a在数列中出现了,输出它第一次出现的位置(......
  • 蓝桥杯第十三届单片机省赛真题(IAP15F2K61S2)
    一、题目二、题目分析1、难点(笔者个人认为)(1)s17按键短按和长按的设置不同,界面不同s17短按在参数界面需要把温度参数-1;s17长按在时间界面需要显示分,秒界面;所以笔者这里把两个数码管显示分两个函数voidNixie_Show()//数码管显示函数{ Nixie_pos_num(1,16); Nixie_po......
  • 第 13 届山东省 icpc 省赛 vp
    第13届山东省icpc省赛vp总结:2024/4/4赛时:7/12:ABDGIJLhttps://codeforces.com/gym/104417最近开始康复训练,和昊哥vp了一场省赛。前期签到蛮顺利,基本1个多小时就出了5题,然后卡在了E,后面B的实现也弄了蛮久,好在过了J题,vp在省内应该是可以排到前30......
  • 第十四届蓝桥杯单片机省赛真题
    逻辑部分纯手写简单零基础模板套用即可main.c#include"smg.h"#include"key.h"#include"led.h"#include"iic.h"#include"onewire.h"#include"ds1302.h"#include"timer.h"#include"uart.h"#i......
  • 2022蓝桥杯大赛软件类国赛真题 卡牌
    importjava.util.Scanner;publicclassMain{staticfinalintN=200005;staticlongn,m;staticint[]a=newint[N];staticint[]b=newint[N];publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in......