luogu P1541 乌龟棋 动态规划问题,讲一下状态设计的要领。 状态设计 f\[a1]\[a2]\[a3]\[a4]表示1、2、3、4这四种牌分别用了a1 a2 a3 a4张之后能达到的最大路径。 状态转移 初始化 f\[0]\[0]\[0]\[0] = a\[1]也就是每张牌都没用,在起点的 ...
分类:
其他好文 时间:
2020-04-01 00:52:44
阅读次数:
53
今天遇到一道DP题,记录一下思路,以免遗忘。 题目:地下城游戏 题目来源:https://leetcode-cn.com/problems/dungeon-game/ 一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左 ...
分类:
其他好文 时间:
2020-03-31 21:13:10
阅读次数:
106
"原题链接" 简要题意: 每次可以在数组中插入一个数(可以在两端)或删除一个数,改变一个数;求让数组成为回文数组的最小步数。 这题的蓝太假了,水 $\text{dp}$,想到算法就可以做出。 关键还是要想到用 动态规划 啊,要是想不到这题就做不出来了。 (考场上可以先用搜索,然后记忆化推导也行,但是 ...
分类:
其他好文 时间:
2020-03-31 20:36:37
阅读次数:
59
1. 斐波那契数列 显然,如果我们打算直接递归计算它的每个值,会有重复计算的部分,这个时候我们可以考虑把得到的值存起来,每次调用。 首先,会自然的想到用数组存下,每次计算下标的前两位的值。 但是随后我们边发现,其实每次都只需要保留最后两个数的值就能计算出下一个数的值了。这样减少了存储空间的占用。 2 ...
分类:
编程语言 时间:
2020-03-30 23:32:04
阅读次数:
100
题目解析:有k个鸡蛋,N层楼,求最少的moves可以确定F的大小.题目中暗含着1-N是有序的,如果第i层鸡蛋没破,那F值肯定在[i,n]层,如果破了,那F值就在[0,i-1]层; 解法一:求最小值,动态规划;顺着题目想dp[K][N]的最小值,假设在i层扔下,如果鸡蛋破了,那么F肯定[0, i-1] ...
分类:
其他好文 时间:
2020-03-29 13:07:36
阅读次数:
85
引入 引用某OI大佬的一段话 动态规划自古以来是DALAO凌虐萌新的分水岭,但有些OIer认为并没有这么重要——会打暴力,大不了记忆化。但是其实,动态规划学得好不好,可以彰显出一个OIer的基本素养——能否富有逻辑地思考一些问题,以及更重要的——能否将数学、算筹学(决策学)、数据结构合并成一个整体并 ...
分类:
其他好文 时间:
2020-03-29 12:45:52
阅读次数:
97
查看 提交 统计 提示 提问 总时间限制: 1000ms 内存限制: 65536kB描述 73 88 1 02 7 4 44 5 2 6 5(Figure 1) Figure 1 shows a number triangle. Write a program that calculates the ...
分类:
其他好文 时间:
2020-03-29 12:35:36
阅读次数:
63
题目链接:http://poj.org/problem?id=2229 思路:“动态规划”问题 只需要列三个连续数字N即可发现:1.N为奇数时,f(n)=f(n-1) 2.N为偶数时,f(n)=f(n-1)+f(n/2) 因为此时N-1为基数,N-1情况的每一行第一个数一定是1,所以加上一个1时,就 ...
分类:
其他好文 时间:
2020-03-29 10:26:48
阅读次数:
53
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题的第24篇文章,我们一起来看LeetCode的44题——Wildcard Matching,这是一道Hard难度的问题,会稍稍有点难,但是好消息是没有出现我们之前没见过的算法。 题意很简单,给定两个字符串s和p,其 ...
分类:
编程语言 时间:
2020-03-29 10:25:06
阅读次数:
81
什么是数据结构?什么是算法 广义 数据结构:一组数据的存储结构 算法:操作数据的一组方法 例子:图书馆对书籍的分门别类存储=数据结构,查找一本书的方法=算法 狭义 著名的数据结构和算法:队列,栈,堆,二分查找,动态规划 重点:复杂度分析 10个常用的数据结构:数组、链表、栈、队列、散列表、二叉树、堆 ...
分类:
编程语言 时间:
2020-03-29 01:14:09
阅读次数:
70