牛客884912157号
牛客884912157号
全部文章
分类
题解(5)
归档
标签
去牛客网
登录
/
注册
牛客884912157号的博客
全部文章
(共8篇)
题解 | #放苹果#dfs + dp(非常详细,很易懂,有图有真相)
来自专栏
描述 题目描述 首先我们就是有 m 个苹果,有 n 个盘子,然后问我们把这些苹果放到这些盘子里面,问我们有多少种情况,这里我们注意一下,题目中给了一个很重要的点,就是如果5, 1, 1和 1,1,5是同一种情况,那么这个题瞬间就好做了很多,我们就不用考虑这种排列组合的情况了,题意就是这样 注意: 本...
华为机试积累
C++
2021-11-11
46
3032
题解 | #Redraiment的走法#
来自专栏
题目的主要信息: 对于一个数组,从前往后,每次只能从小到大,问最多经过多少数字 即寻找最长递增子序列的长度 方法一:暴力动态规划 具体做法: 要找到最长的递增子序列长度,常用方法是动态规划,dp[i]dp[i]dp[i]表示到元素iii结尾时,最长的子序列的长度,初始化全部为1。 遍历两层,前...
C++
华为机试积累
2021-11-02
17
1643
题解 | #四则运算#
来自专栏
题目的主要信息: 输入一个表达式(用字符串表示),求这个表达式的值 字符串中有0-9的数字,加减乘除符号,大中小三种括号 表达式一定合法,不用判断括号是否合法之类的问题 除数用整数运算 方法一:递归 具体做法: 括号中的运算式可以看成运算式的子问题,因此可以用递归解决。 第一次运算是运算字符串的...
华为机试积累
2021-10-26
80
2522
购物单(背包问题)
来自专栏
出题者觉得0/1背包太套路了,因此给我们使了点小绊子,但是问题不大。 设主件个数为n,奖金数量为M,每个主件对应的价格为v,每个主件对应的重要程度为w。d[i][j]表示从前i个主件中选取,奖金数量为j的情况下,所获得的最大价格*重要程度累加和。另外注意到一个小细节:每个主件只能有0~2个附件,最多...
C++
华为机试积累
2020-08-27
334
15912
最长子序列问题
先找到每一个位置i左侧的最长上升子序列长度numL[i]:每一个位置左侧最长子序列长度等于其左侧比它小的所有位置的最长子序列长度中的最大值+1再找到每一个位置i右侧的最长下降子序列长度numR[i]:每一个位置右侧最长子序列长度等于其右侧比它小的所有位置的最长子序列长度中的最大值+1然后求出所有位置...
华为机试积累
2020-05-16
152
5218
购物车
购物车 其实这题就是0-1背包问题 首先来看一下经典背包问题,稍作修改就可以得出这题的解答 0-1背包问题 问题描述:有一个背包可以装物品的总重量为W,现有N个物品,每个物品中w[i],价值v[i],用背包装物品,能装的最大价值是多少? 定义状态转移数组dp[i][j],表示前i个物品,背包重量为j...
华为机试积累
C++
2020-04-23
869
38676
C++解法
c++的几个内置函数 islower(char c) 是否为小写字母isuppper(char c) 是否为大写字母isdigit(char c) 是否为数字isalpha(char c) 是否为字母isalnum(char c) 是否为字母或者数字toupper(char c) 字母小转大tolo...
华为机试积累
2020-03-01
21
1748
放苹果
''' 放苹果分为两种情况,一种是有盘子为空,一种是每个盘子上都有苹果。 令(m,n)表示将m个苹果放入n个盘子中的摆放方法总数。 1.假设有一个盘子为空,则(m,n)问题转化为将m个苹果放在n-1个盘子上,即求得(m,n-1)即可 2.假设所有盘子都装有苹果,则每个盘子上至少有一个苹果,即最多剩下...
华为机试积累
C++
2019-08-22
370
15594