- 博客(20)
- 收藏
- 关注
原创 P1049 [NOIP2001 普及组] 装箱问题
题目要求找最小的剩余空间,就是找最大的装箱空间,这题可以转化为一个简单的01背包装任意个物品,使得总体积最大(同时要小于箱子的容量v)对于每个物品,只有两种情况,装和不装所以状态转移方程为dp[j]=max(dp[j],dp[j-w[i]]+w[i])dp[j]为当容量为j时,所能装的最大体积dp[j-w[i]]+w[i]为当容量为j时,放了第i件商品后能装的最大体积。
2024-02-23 15:35:57
239
原创 P1150 Peter的烟
每吸完一根烟就有一个烟蒂设他总共抽了x根烟这x根烟里x-n根烟都是用烟蒂换来的,但他自始至终有x根烟蒂Peter吸的最后一根烟的烟蒂是肯定不能换烟的,所以能用来换烟的烟蒂只有x-1个所以x−n=(x-1)/k所以kx−kn=x−1解得x=(nk-1)/(k-1)=n+(n-1)/(k-1)
2024-02-23 11:00:03
134
原创 P1102 A-B数对
首先,A-B=C可以转化为A-C=B所以,我们可以用map来做这道题用一个map数组来映射每次出现的a数组的元素,再把a数组减去C,之后查找a数组对应的map数组,累加所有每组对应的B的个数。
2024-02-22 21:05:41
140
1
原创 P1059 [NOIP2006 普及组] 明明的随机数
这题可以用stl里的set,set集合里面每个数只出现一次且从小到大排好序,刚好符合题目。
2024-02-17 07:58:14
169
1
原创 P1184 高手之在一起
这题是字符串+搜索我们要看算高手和小萝莉能在一起的天数 题目中给我们的参数是字符串 所以我们就要搜索看小萝莉去的 地方和高手去的地方有哪些是重合的所以我们可以用map来解决这个问题map<string,bool>用第一个参数记录地方,第二个参数判断这个地方是否会去。
2024-02-15 00:46:03
111
1
原创 P1097 [NOIP2007 提高组] 统计数字
刚开始看到这题 感觉特别简单 就是一个桶排 后来看到提高组 又看到清一色的RE 知道这题不能用桶。
2024-02-02 16:45:49
364
原创 P1317 低洼地
一个洼地 需要有两个边组成 下降段和上升段 也就是它的左右两边 当我们模拟到了一个下降段之后又模拟到了一个上升边 就可以确定这里有一个洼地。
2024-02-02 16:13:55
206
原创 P1030 [NOIP2001 普及组] 求先序排列
1.我们知道 后序遍历的最后一个节点一定是根节点2.题目要求求先序遍历 先序遍历的顺序是根左右 所以我们只需要找到每棵子树的根 再依次输出就可以3.中序遍历的顺序是左根右 所以我们每次在后序遍历中找到的根 在中序遍历中 这个根的左右部分可以分为左右两个子树 再找到子树的根 不断遍历输出 就可以解决这个问题我们对节点的访问一定是一棵子树遍历到头再遍历另一棵子树 也就是用dfs。
2024-02-02 15:32:56
255
原创 洛谷P1464 Function
首先,这题的递归函数题干中写的很清楚,但是写了之后会发现,很容易RE和TLE题干中提到,当a,b,c都为15时,调用的次数会很多,这个时候我们就会意识到这题需要用到记忆化搜索,记忆化搜索的关键就是用数组存储已经计算过的结果再加上这题的数据范围非常大,所以我们需要开long long。
2024-02-01 11:04:34
399
1
原创 P1036 [NOIP2002 普及组] 选数
这道题是让我们在n个数里选取k个数,统计这k个数的和sum为素数的有几个首先我们可以写一个dfs来选数,在这个dfs里直接统计答案的话还需要一个判断sum是否为素数的函数在选取k个数后判断宿命是否为素数这题基本就已经解决了。
2024-02-01 10:26:23
133
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人