算法
以LeetCode平台为主
SameLin_
努力学习中。
展开
-
LeetCode 42.接雨水 【双指针】
接雨水 题目链接 https://leetcode-cn.com/problems/trapping-rain-water/ 题目说明 题解 主要方法:双指针 + 正反遍历 解释说明: 1. 正向遍历:先确定池子左墙初始化为第一个bar,从第 2 个 bar 开始遍历右墙,同时记录中间的 bar 高度和,当右墙大于等于左墙的时候就有第一滩积水了,[左右墙距离 * 左墙高度 - 中间 bar 和] 就是这滩积水的体积,同时将右墙认定为下一个左墙,同时重新记录bar高度和。 2. 反向遍历:原创 2020-07-21 16:12:28 · 178 阅读 · 0 评论 -
LIS变形——固定长度截取求最长不下降子序列(动态规划+树状数组O(nlogn)LIS)
比赛中遇到了这么一道题,花十多分钟巧妙解决了动规但疯狂超时错失金奖,赛后百度一下原来LIS还有树状数组的Onlogn算法 orz。 先学习下LIS最长上升子序列 看了大佬的文章OTZ:最长上升子序列 (LIS) 详解+例题模板 (全),其中包含普通O(n)算法和以LIS长度及末尾元素成立数组的普通O(nlogn)算法,当然还有本文涉及的树状数组维护后的O(nlogn)算法。 ...原创 2018-11-11 22:49:47 · 533 阅读 · 2 评论 -
并查集深入浅出________Almost Union-Find
并查集概述 针对散列点的集合操作,将哪些点集合到一起,判定哪些点在一个集合是并查集的基本任务。 缺点:对于每一个集合,只有一个“群主”,其他的都是 “群员”,群员之间没有层级之分。 对于每一个点 i 判定给定一个 pre[ i ];若两个点的 pre[ i ] 相等则属于一个集合,其中 pre[ i ] = i 的点为“群主”。除此之外,若有 pre[ i] = pr...原创 2019-03-07 20:24:57 · 93 阅读 · 1 评论 -
蓝桥杯 · 算法训练 · 结点选择—树形dp
不恰当的思路 首先拿到题,就想到 图染色——蓝桥杯 · 分考场,dfs 从第一个节点遍历到第n个节点,对于每一个节点试着去装进一个room(一个room内的所有人都没有直接关系),最后接收 room 内所有节点的权值和。事实证明,不仅空间耗费大,时间复杂度也很大(因为要便利每一种对于每一个节点装与不装的组合),拿下10分。 AC思路 又联想到另一道题蓝桥杯 · 对局匹配,这个思...原创 2019-03-21 09:49:44 · 315 阅读 · 1 评论 -
2019蓝桥杯/ACM省赛总结
蓝桥杯 四川省级赛 成都理工大学大门口进去就是一片古香古色,三个年级18个同学在展牌和老师拍完照就上战场了。题出乎意料的简单,除了最后一道题没思路(陷于dfs肯定超时,dp找不到转移方程的苦境中)耗了一个小时左右,前面的题都挺顺的,甚至其中三道题都在赛前一周内刷题遇到过十分类似的题。下来对了下答案,填空题基本无误,大题思路也相差无几,最后出结果还是挺高兴的,我们学校有三个一等,我排第三,没给弱...原创 2019-06-10 10:58:45 · 816 阅读 · 4 评论