- 博客(5)
- 收藏
- 关注
原创 圣诞老人的礼物预习
我们只需要确保在达到限制之前,我们已经从单价最高的糖果箱中选取了尽可能多的糖果。读取每箱糖果的价值 v 和重量 w,并计算每箱糖果的单价(价值除以重量)。当达到一个临界点,即currentWeight<w并且currentWeight+maxTake>w时,将不足一箱的糖果加上。从单价最高的糖果箱开始,尽可能多地选择糖果,直到达到驯鹿的承重限制。// 糖果箱数和驯鹿能承受的最大重量。
2024-11-30 00:45:52
1404
原创 算24点预习
对于每种运算,它创建一个新的vector<double>类型的变量next_round,其中包含了除了这对数字之外的其他数字以及这对数字运算后的结果。24点游戏是一种数学游戏,目标是通过给定的四个数字(每个数字可以使用一次),使用加、减、乘、除四则运算,以及括号来改变运算顺序,使得最后的结果为24。具体来说,就是对于每一个数字,我们尝试把它和后面的数字用加减乘除四种运算连接起来,然后再对结果继续递归处理,直到处理完所有的数字。在递归的过程中,我们要注意运算的优先级,比如乘法和除法要比加法和减法先计算。
2024-11-29 00:10:23
1779
原创 修理牧场预习
农夫需要将一段木头锯成N块,每块木头的长度都是已知的整数L[i]。• 在这个过程中,我们需要找到一个最优的k(k < i),使得dp[k][j-1] + (prefix_sum[i] prefix_sum[k])最小。• 如果我们将前i块木头锯成j段(其中j小于i),那么在第j次锯的时候,我们需要从prefix_sum[i]长度上锯掉一部分,形成第i段木头L[i]。• dp[i][1] = 0:只有一段木头时,不需要锯,因此花费为 0(但需要注意,这只是一个辅助初始条件,实际上不会用到)。
2024-11-26 23:26:43
311
原创 7-20表达式转换(2)
遍历结束后,如果栈中还有字符,这些字符也需要弹出并添加到 result(这些字符是剩余的运算符,它们需要按照逆序添加到结果中)。如果遇到右括号 ),则不断弹出栈顶字符并添加到 result,直到遇到左括号 ((左括号不添加到 result)。}//如果c是),循环出栈加入到结果中,直到栈顶字符为)且栈非空。如果当前字符的优先级大于栈顶字符的优先级,或者栈为空,当前字符也压入栈。cout<<"后缀:"<<result<<endl;cout<<"中缀:"<<str<<endl;如果是左括号 (,直接压入栈。
2024-11-19 22:13:14
644
原创 7-20表达式转换(1)
首先,初始化一个栈,然后从左到右扫描中缀表达式:如果遇到操作数(数字或字母等),直接将其添加到后缀表达式的结果中。如果遇到右括号“)”,则从栈中弹出操作符并添加到后缀表达式的结果中,直到遇到左括号“(”(左括号弹出后不添加到结果中)。扫描到“)”,弹出栈顶直到遇到“(”:弹出“-”,添加到结果:3 4 2 1 5 -,弹出“(”,不添加到结果,此时栈为[+, *, /],依次弹出并添加到结果:3 4 2 1 5 - * /然后将当前操作符入栈中。扫描到“-”,入栈:栈 = [+, *, /, (, -]
2024-11-18 23:53:37
249
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅