YunYan

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 2 3 4 5 6 7 8 ··· 37 下一页

2020年7月13日

摘要: 题目连接 这个题目对dp思想的理解和对dp问题边界问题的处理很有帮助。 题解:定义dp[i][j]表示s的前i个字符和p的前j个字符是否可以匹配。 假如说p的第j个字符和s的第i个字符一样,那么dp[i][j]=dp[i-1][j-1],不一样的话,直接就是false 如果p的第j个字符是?,那么一 阅读全文
posted @ 2020-07-13 11:36 Target--fly 阅读(121) 评论(0) 推荐(0) 编辑

2020年7月12日

摘要: 题目链接 题解:定义状态dp[i][j]为从当前状态到终点的最小初识值。那么dp[i][j]可以由dp[i+1][j]和dp[i][j+1]转移过来,转移方程为min(dp[i+1][j],dp[i][j+1])-dungeon[i][j]即当前状态为其右下的最小值减去当前的矩阵的值,就是所需要的值 阅读全文
posted @ 2020-07-12 19:25 Target--fly 阅读(158) 评论(0) 推荐(0) 编辑

2020年7月3日

摘要: 首先要清楚什么是二叉搜索树,数据结构课上讲过,就是父节点大于左节点小于右节点的二叉树,二叉搜索树的性质就是中序遍历后得到的数组为升序数组。 具体的构建思路采用递归分分治的方法构造,根节点一定是中间的节点,确定好根节点后,根节点左边的为左儿子节点,右边的为右儿子节点。 code: /** * Defi 阅读全文
posted @ 2020-07-03 10:52 Target--fly 阅读(128) 评论(0) 推荐(0) 编辑

2020年6月10日

摘要: Problem StatementCompute A×B, truncate its fractional part, and print the result as an integer. InputInput is given from Standard Input in the followi 阅读全文
posted @ 2020-06-10 11:57 Target--fly 阅读(205) 评论(0) 推荐(0) 编辑

2020年5月30日

摘要: 题目大意:n个人要买东西,然后每个人可以选择自己购买,花费的时间是ai,也可以选择和自己前边的人一块购买这两个人一块买花费的时间是bi,问这n个人需要的最少时间,如果从08:00:00开始算起,那么最早几点结束。 题解:定义状态dp[i]表示前i个人的需要的最少时间,第i个人可以自己买dp[i]=d 阅读全文
posted @ 2020-05-30 22:51 Target--fly 阅读(141) 评论(0) 推荐(0) 编辑

摘要: 中文题目,题意好理解。 题解:定义状态DP[i][j]表示第i秒在第j个位置处的最优状态,每一个点只能由相邻点转移,所以转移方程就是dp[i][j]=max({dp[i-1][j],dp[i-1][j-1],dp[i-1][j+1]})+arr[i][j],arr[i][j]表示当前状态下的物品的数 阅读全文
posted @ 2020-05-30 22:41 Target--fly 阅读(140) 评论(0) 推荐(0) 编辑

2020年5月28日

摘要: 思路:和逆波兰式相似,首先开两个栈,一个保存数字,一个保存字符,当遇到[的时候,首先将数字入栈,再将数字前边的字符入栈,然后在利用一个字符串保存[ ]中的字符,直到遇到 ] 首先是对[ ] 进行翻倍,然后再和字符栈的栈顶元素叠加倍数次.... code: class Solution { publi 阅读全文
posted @ 2020-05-28 15:30 Target--fly 阅读(140) 评论(0) 推荐(0) 编辑

2020年5月26日

摘要: 中文题目,题意略。 题解:可以考虑烤鱼一个点i,从1~i买入,从i~n的路上售出。所以我们可以维护数组dis1[x]从1到x的路径的最小点权值,然后从dis2[x]维护从x到n的路径上的点的最大权值。维护数组可以通过spfa来维护,最后在枚举i就可以了。 code: #include<bits/st 阅读全文
posted @ 2020-05-26 17:09 Target--fly 阅读(136) 评论(0) 推荐(0) 编辑

2020年5月25日

摘要: 题目大意: 给出一个序列,然后求这个序列的最大上升子序列的和。 题解:定义状态dp[i]表示前i个数的最大和,dp[i]的最小值应该是arr[i]了,因为i前边可能有负数,对于负数,虽然可以构成上升子序列,但是没有必要选。 code: #include<bits/stdc++.h> using na 阅读全文
posted @ 2020-05-25 18:43 Target--fly 阅读(148) 评论(0) 推荐(0) 编辑

2020年5月22日

摘要: 题意:一个n*m的矩阵,每一个位置都有一定的高度,要求从(1,1)走到(n,m)并且每次移动只能向下或者向右移动,并且要求只能向比自己高度高1的位置移动。定义一个操作:执行一次可以使得任意一个格子的额高度减一,问从1,1到n,m操作的最少次数。 题解:首先一定会有一个格子的高度保持不变,设h(i,j 阅读全文
posted @ 2020-05-22 20:29 Target--fly 阅读(275) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 37 下一页