- 博客(3)
- 收藏
- 关注
原创 P1775 石子合并(弱化版)
本文介绍了一道NOI弱化版的石子合并问题,采用动态规划(区间DP)求解。通过定义dp[i][j]表示合并i到j堆石子的最小得分,初始化边界条件后,利用前缀和数组计算合并代价,最终输出dp[1][n]。代码实现采用三重循环,时间复杂度为O(N^3),是一道经典的区间DP入门题,主要考察状态转移方程的构建和动态规划思想的运用。
2025-07-27 22:44:32
469
原创 P1880 [NOI1995] 石子合并
本文解析1995年NOI环形石子合并问题,难度为普及+/提高。该题核心是动态规划中的区间dp,需处理环形结构转化为线性序列的问题。解题步骤包括:破坏环形为2N-1长度的线性序列,计算前缀和数组,实施区间动态规划求最值。代码实现采用三层循环处理状态转移方程,分别求出最小和最大合并代价。关键点在于环形转线性的处理技巧和区间dp的递推关系,适合作为动态规划学习的典型案例。
2025-07-27 22:05:42
471
原创 [GESP202312 五级] 烹饪问题
本文解析了一道GESP五级考级题,要求找出两个食材的最大契合度(按位与最大值)。题目虽属普及/提高-难度,但对考生仍有挑战。解题采用贪心算法:从最高位开始逐位判断能否保留1,确保至少两个数在该位为1。给出的C++代码时间复杂度为O(31*N),通过位运算高效解决问题。这种从高位到低位构造最优解的方法既保证了正确性又提升了效率,适用于类似位操作求极值的问题。
2025-07-26 21:55:12
511
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅