贾蔷 贾蔷
1星期前
2023年 GESP六级 小杨的握手问题的优雅解法:树状数组实战
一、问题背景与选择题目要求计算n个人按照特定顺序排队时发生的握手次数,本质上是计算序列中逆序对的数量。(FenwickTree)因其高效的和单点更新能力(O(logn))成为解决此类问题的理想选择。二、完整代码实现(带详细注释)Cincludeincl
贾蔷 贾蔷
1星期前
洛谷P1102题解:利用哈希表优化的数对统计 C++代码解析
一、题目解读P1102题要求处理一组整数与常数C,统计数组中是否存在元素A与B满足ABC。用户需输出满足条件的数对数量。题目关键在于快速判断是否存在互补元素,时间复杂度需优化以避免暴力遍历。二、解题思路采用(unorderedmap)实现高效统计。首先遍
深度学习 深度学习
1星期前
2024年蓝桥杯国赛B组最小字符串(洛谷P10910):贪心算法构造最小字符串
一、问题描述给定一个长度为N的S和M个待插入字符,要求将这些字符全部插入到S中,使得最终形成的字符串最小。二、完整代码解析(含详细注释)Cincludeincludeincludeusingnamespacestd;intmain()intN,M;st
贾蔷 贾蔷
1星期前
洛谷P3369题解:Treap数据结构从入门到精通
一、数据结构概述是一种同时具备(BST)和(Heap)性质的数据结构,通过随机优先级维护平衡性,实现高效的插入、删除和查询操作。二、核心实现解析1.节点结构:包含值(val)、计数(cnt)、子树大小(size)和随机优先级(priority)1.旋转操作
深度学习 深度学习
1星期前
LeetCode 2576题解:双指针法求解最多标记下标(排序+贪心策略)
一、题目解读2576题要求在一个整数中寻找最多可标记的下标对:若nums法”的组合思路:1.排序预处理:对原数组nums进行升序排序,确保相同元素聚集,便于后续配对。2.双划分:将排序后的数组分为左右两半(左指针left0,右指针rightn/2),从
贾蔷 贾蔷
1星期前
力扣面试17.21题解:接雨水问题的双指针最优解
一、问题描述给定n个非负整数表示每个宽度为1的柱子的高度,计算按此排列的柱子,下雨之后能接多少雨水。二、核心思想本解决方案采用:1.使用左右从两端向中间移动1.维护左右两边的最大值1.根据较小的一边计算当前能接的雨水量1.移动较小值的指针继续计算三、完整代
深度学习 深度学习
1星期前
2020CSP-S动物园题解:位运算优化解法(洛谷P7076)
一、题目解读2020年(中国计算机学会青少年信息学奥林匹克竞赛)的“动物园”题目(P7076)要求计算为满足饲养员对动物属性的要求,至少需要新增多少种动物。题目涉及与属性匹配,考验逻辑与优化能力。二、解题思路采用位运算为核心策略:1.属性合并:用位运算将已
深度学习 深度学习
5天前
2021年CSP-S廊桥分配问题解析(洛谷P7913):基于贪心算法与优先级队列的解题思路
一、题目解读2021年中的“廊桥分配”(P7913)是一个经典的资源分配问题。题目要求处理n个航班,每个航班有到达和离开时间,需在m1到m2个廊桥的限制下,计算使用不同数量的廊桥时能服务的最大航班数。核心在于高效分配廊桥资源,避免时间冲突,同时满足数量限制
贾蔷 贾蔷
5天前
2014年蓝桥杯省赛A组波动数列(洛谷P8614):模运算+动态规划
一、思路波动数列是经典赛题,要求计算满足特定条件的数列数量。本文将详细解析解法,帮助算法初学者掌握状态设计和转移技巧。二、完整代码Cincludeincludeusingnamespacestd;constintMOD100000007;//自定义取模
深度学习 深度学习
5天前
1999年NOIP普及组旅行家的预算(洛谷P1016):贪心算法实战指南
一、问题背景旅行家的预算是1999的经典题目,考察在实际问题中的应用。题目描述一位旅行家需要从起点到终点,途中有若干个加油站,每个加油站油价不同,要求在有限油箱容量下规划最优加油策略,使总花费最少。二、数据结构设计structStationdoubledi