登录社区云,与社区用户共同成长
邀请您加入社区
本文探讨了四种高级贪心算法策略,通过降维、反向排除和错位插空等技巧解决复杂问题。首先在俄罗斯套娃信封问题中,通过巧妙排序将二维问题降为一维LIS问题;其次在可被三整除的最大和问题中,采用反向排除法根据余数选择最优解;最后在条形码和字符串重构问题中,利用错位插空法确保相邻元素不同。这些策略展示了贪心算法在复杂场景下的灵活运用,能有效提升解题效率。
本文介绍了股票买卖问题中的状态机模型解法,通过分析不同交易限制条件下的状态转移关系来求解最大利润。主要涵盖三种典型问题:含冷冻期、含手续费和最多两笔交易的情况。对于含冷冻期问题,定义了持有股票、可交易和冷冻期三个状态;含手续费问题简化为持有和空仓两种状态;最多两笔交易问题则引入交易次数作为新维度。每种情况都给出了清晰的状态转移图和对应的动态规划实现代码,展示了如何将复杂交易规则转化为状态转移方程,
本文以洛谷平台所提供的题目描述及评测数据为基础进行讲解。前言:这是本人的蓝桥杯试卷,大概排省一前40%的位置,实际上这届题目偏难,我没有做出太多的有效得分。我把当时的思路和现在学习的思路都复盘进来,希望给大家做个参考。
第十六届蓝桥杯大赛软件赛C/C++大学B组
2025 蓝桥杯网络安全赛道 个人writeup
第一种思路是用数论知识,用数学的方式推导出结论。平方差结论:若a,b都是整数,则a^2-b^2一定是奇数或者4的倍数。第二种思路是打表+找规律,这也是蓝桥杯常考的找规律的题的一种做法(后续我会总结蓝桥杯常见的找规律的题)。
前两个填空题我认为比我刷过的填空题要难,难不少,而且有点向数学那方面靠拢,而我一般刷的都是关于日期问题、基本算法的一些问题,数论还没有深入的接触,所以我对这两个填空题没有做出来倒是没有很大的遗憾。倒数第二道考的是图论,我把并查集模板套上去了,不知道能不能骗两分。倒数第一道题考的是真正的dfs,最难的部分就是异或这个符号的优先级处理问题,其他的我都能整出来,就这一步处理不好,最后花了我一个多小时也没
01背包变种,多考虑一种选法,多开一个维度。由于内存限制,还得采用滚动数组。
根据上面的分析,编译器确实帮我们自动完成了优化,减少了拷贝,是不是非常神奇,接下来我们来讲一下拷贝构造的另一个大坑,就是我们在用临时对象拷贝构造st2时,有一个小细节,就是临时对象具有常性,可以看作临时对象都被const修饰了,如果要让临时对象拷贝构造给st2,上面的拷贝构造函数的第一个形参必须加上const,否则就会出错。接下来就该进行传值返回了,这里就稍微有点不一样了,因为我们的形参st在函数