- 博客(4)
- 收藏
- 关注
原创 洛谷P1510题解
本文介绍了一个01背包问题的变形解法。题目要求在使用最少体力消耗的情况下完成任务,原问题转化为背包容量为N、物品数量为M的01背包问题。关键点在于将递推公式改为求最小值:当背包容量j大于物品重量时,取dp[j]和dp[j-w[i]]+v[i]的较小值。代码中初始化dp数组为大数,通过动态规划求解最小体力消耗,最后判断剩余体力是否足够。若体力不足则输出"Impossible"。该解法直接套用01背包模板,仅需修改递推关系即可。
2025-08-06 11:46:13
337
原创 C++算法总结
六、分治算法:分治算法主要有二分算法。二、高精度算法:主治,计算那些long long都算不完的数,使用的是数组逐个及算。五、动态规划:动态规划与贪心算法有许多相似,贪心更加鼠目寸光,动态规划是总揽全局。一、枚举算法:没有模板,但要注意尽量少用一些循环,容易使速度变慢。四、贪心算法:一种鼠目寸光的想法,在当前的结果中找最优。三、递推算法:自己调用自己,如汉诺塔,兔子序列等。
2025-05-01 11:41:26
378
原创 值传递和引用传递
在 C++ 中,函数参数可以通过值传递(Value Passing)或引用传递(Reference Passing)两种方式来传递。在函数内部对参数的任何修改都不会影响原始变量。因此对于大型对象来说,性能更好。
2025-01-16 15:01:42
474
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅