引入 引用某OI大佬的一段话 动态规划自古以来是DALAO凌虐萌新的分水岭,但有些OIer认为并没有这么重要——会打暴力,大不了记忆化。但是其实,动态规划学得好不好,可以彰显出一个OIer的基本素养——能否富有逻辑地思考一些问题,以及更重要的——能否将数学、算筹学(决策学)、数据结构合并成一个整体并 ...
分类:
其他好文 时间:
2020-03-29 12:45:52
阅读次数:
97
【问题描述】 小明想知道,满足以下条件的正整数序列的数量:1. 第一项为 n;2. 第二项不超过 n;3. 从第三项开始,每一项小于前两项的差的绝对值。请计算,对于给定的 n,有多少种满足条件的序列。 【输入格式】 输入一行包含一个整数 n。 【输出格式】 输出一个整数,表示答案。答案可能很大,请输 ...
分类:
其他好文 时间:
2020-03-26 14:05:06
阅读次数:
140
题目背景 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。 题目描述 乌龟棋的棋盘是一行NN个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一的起点,第NN格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。 乌龟棋中MM张爬行卡片,分成4种不同的类型(MM张卡片中不一定包含所有44种类 ...
分类:
其他好文 时间:
2020-03-20 20:40:46
阅读次数:
84
1 //递归+记忆化 2 class Solution 3 { 4 vector<int> memo; 5 public: 6 int combinationSum4(vector<int>& nums, int target) 7 { 8 //memo数组一般取target + 1 9 memo ...
分类:
其他好文 时间:
2020-03-18 15:55:01
阅读次数:
45
题目描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠。该国的行政区划十分特殊,刚好构成一个NN 行\times M×M 列的矩形,如上图所示,其中每个格子都代表一座城市,每座城市都有一个海拔高度。 为了使居民们都尽可能饮用到清澈的湖水,现在要在某些城市建造水利设施。水利设施有两 ...
分类:
其他好文 时间:
2020-03-18 00:00:54
阅读次数:
80
Description 在科学计算中经常要计算矩阵的乘积。矩阵A和B可乘的条件是矩阵A的列数等于矩阵B的行数。若A是一个p×q的矩阵,B是一个q×r的矩阵,则其乘积C=AB是一个p×r的矩阵。 由公式知计算C=AB总共需要pqr次的数乘。 为了说明在计算矩阵连乘积时加括号方式对整个计算量的影响,我们 ...
分类:
其他好文 时间:
2020-03-16 21:58:45
阅读次数:
74
很容易想到用DP或记忆化搜索解决。 状态转移方程: dp[i][j] = MAX(dp[i][j] , 1 + dp(neighbor) ) 注意dp[i][j] 先要全部置1 由于记忆化搜索的做法没什么特别的,就是一个dfs+标记数组,就不多写了。 如何DP?这道题显然不能常规的线性DP,因为子问 ...
分类:
其他好文 时间:
2020-03-14 11:19:09
阅读次数:
46
题意: 0到N的数轴上,每次可以选择移动到x-1,x+1,2*x,问从n移动到k的最少步数。 思路: 同时遍历三种可能并记忆化入队即可。 Tips: n大于等于k时最短步数为n-k。 在移动的过程中可能会越界、重复访问。 poj不支持<bits/stdc++.h>和基于范围的for循环。 #incl ...
分类:
其他好文 时间:
2020-03-13 18:38:08
阅读次数:
50
动态规划 分析流程 递推(递归+记忆化) 状态定义 状态转移方程 最优子结构 爬楼梯 题目来源 "LeetCode 70. Climbing Stairs" 解题思路 方法一 定义状态 表示n阶台阶的总走法数,则状态方程为 精简解题 题目 给你一个数组,第i个元素代表某个股票第i天的价格,现在只允许 ...
分类:
其他好文 时间:
2020-03-13 14:35:18
阅读次数:
57
题目链接:https://www.luogu.com.cn/problem/P1434 想法: 记忆化搜索板子题: #include <algorithm> #include <string> #include <string.h> #include <vector> #include <map> ...
分类:
其他好文 时间:
2020-03-07 00:14:39
阅读次数:
91