首页 > 其他分享 >401 数字三角形 记忆化搜索

401 数字三角形 记忆化搜索

时间:2023-04-09 18:56:37浏览次数:51  
标签:return int dfs 搜索 401 三角形 include

视频链接:https://www.bilibili.com/video/BV16V411U7Gc/

Luogu P1216 [USACO1.5][IOI1994]数字三角形 Number Triangles

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;

const int N=1005;
int n,a[N][N],f[N][N];

int dfs(int x,int y){
  if(f[x][y]!=-1) return f[x][y];   //记忆化搜索
  if(x==n) return f[x][y]=a[x][y];  //边界
  int mx=max(dfs(x+1,y),dfs(x+1,y+1));
  return f[x][y]=mx+a[x][y];
}
int main(){
  scanf("%d",&n);
  for(int i=1; i<=n; i++)
    for(int j=1; j<=i; j++)scanf("%d",&a[i][j]);
    
  memset(f,-1,sizeof f);
  dfs(1,1);
  printf("%d\n",f[1][1]);
}

 

标签:return,int,dfs,搜索,401,三角形,include
From: https://www.cnblogs.com/dx123/p/17300794.html

相关文章

  • 402 数字三角形 线性DP
    视频链接:LuoguP1216[USACO1.5][IOI1994]数字三角形NumberTriangles#include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;constintN=1005;intn,f[N][N];intmain(){scanf("%d",&n);for(inti=1;i......
  • 分布式存储技术(下):宽表存储与全文搜索引擎的架构原理、特性、优缺点解析
    对于写密集型应用,每天写入量巨大,数据增长量无法预估,且对性能和可靠性要求非常高,普通关系型数据库无法满足其需求。对于全文搜索和数据分析这类对查询性能要求极高的场景也是如此。为了进一步满足上面两类场景的需求,有了宽表存储和搜索引擎技术,本文将对他们的架构、原理缺点做介绍。......
  • 20230401数位DP
    数位DP数位DP通常指在\([l,r]\)区间中有多少个满足条件\(k\)的个树常见的数据范围都很大也就是说,把数字的枚举,变成数字的构造不要把数字看作是\(10^{18}\)而把数字看作是\(18\)位数的填数过程就是把原本枚举的问题转化为了构造的问题然而数位dp常通过记忆化搜索实现tips:......
  • 剑指 Offer 36. 二叉搜索树与双向链表
    题目链接:剑指Offer36.二叉搜索树与双向链表方法一:回溯解题思路代码classSolution{private:intmx=INT_MIN,mi=INT_MAX;Node*start=NULL,*end=NULL;public:voidLrotate(Node*root,Node*last_root){//针对左子树,左旋if(!ro......
  • 从百度搜索结果列表里点击 CSDN 博客时 url 参数的含义
    我在百度里根据某关键字搜索后,在结果列表里找到CSDN某篇博客,点击之后,进入博客页面,注意到地址栏里的url很长:https://blog.csdn.net/i042416/article/details/117606987?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168086484016800182795826%2522%252C%2522scm%......
  • 剑指 Offer 33. 二叉搜索树的后序遍历序列
    题目链接:剑指Offer33.二叉搜索树的后序遍历序列方法:分治解题思路首先假设该序列能够构成某个二叉搜索树的后序遍历序列,那么这个序列会被分成3个部分:左子树序列,右子树序列,父节点,其中左右子树节点数可能为0;现在就可以检查该序列是否符合这个规律,然后递归的判断子树是否符合......
  • 108. 将有序数组转换为二叉搜索树
    题目链接:108.将有序数组转换为二叉搜索树方法:递归建树解题思路每次选取中间的元素作为根节点,递归创建左右子树,就可以保证左右子树的高度差绝对值不超过1代码/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*......
  • STM32F401串口2的异步发送
    本文使用Nucleo-F401RE这块板,目的是学习STM32平台上串口的使用方法。只描述如何操作寄存器以发送给定数据且不使用中断。接收数据的方法自行类比。准备工作:一、打开芯片的Datasheet。找到引脚功能映射表,选择要使用的串口对应的功能引脚。这里使用PA2和PA3的07号功能,即USART2-TX......
  • HJ67_24点游戏算法_多维递归_DFS(深度优先搜索)
    思路:多维递归,深度有限遍历加减乘除四种情况。知识点:1、多维递归不能对传递的变量进行修改,否则无法回溯。应该传递一个新地址的变量,如代码所示,传递切片的列表,不修改列表  2、搜索遗漏。两括号比如((9-4)-1)*6选取任意一个数作为第一个运算数与24运算,不能找出所有24点的计算......
  • ES搜索框架--设置IK分词器
    ES的默认中文分词效果太差了,稍微长一点的词句就完全匹配不到,于是选择使用安装IK中文分词器来实现索引的分词。参考:https://blog.csdn.net/w1014074794/article/details/119762827https://www.bbsmax.com/A/6pdDqDaXzw/一、安装官网教程:https://github.com/medcl/elasticsearch-ana......