
洛谷刷题
文章平均质量分 71
三省本心
stay hungry stay foolish
展开
-
实现并查集和DFS的一些有趣方法
一、实现并查集的简洁写法 大佬的有趣解释 int lead(int x)// { if(leader[x]==x) return x; else return leader[x]=lead(leader[x]); //把路径上所有点都纠正 } int link(int x,int y) { if(leader[x]!=leader[y]) { leader[lead(x)]=lead(y); } } leader[]表示直属上级 link()实现了两个互不原创 2021-02-28 19:53:16 · 246 阅读 · 0 评论 -
2021-02-21
做题总结7-6 考试座位号7-7 重排链表7-13斐波那契数列 7-6 考试座位号 题目网址 输入样例: 4 3310120150912233 2 4 3310120150912119 4 1 3310120150912126 1 3 3310120150912002 3 2 2 3 4 输出样例: 3310120150912002 2 3310120150912119 1 解决方案: 由题目可以发现,只需通过建立映射关系知晓测试机号的对应ID和考试位置即可,于是,我们采用map给予解决 代码 #i原创 2021-02-21 18:32:23 · 206 阅读 · 0 评论 -
洛谷数据结构1-1笔记
文章目录1.2 寄包柜问题解决方法一:vector不定长数组方法二 使用map方法三 使用数组直接表示和压缩1-3 后缀表达式(初阶)1-4 约瑟夫问题(初阶及进阶教学)解法拓展思维 1.2 寄包柜问题 分析:由题目可知,不仅柜子的编号是离散的,而且箱子的数目和编号还不确定,如果都以开辟数组的形式实现,将会耗费大量空间。因此,(自行脑补每个柜子的情况)其实是一个稀疏的存储模型。对于该题,我们可以有使用vector不定长数组 或者map来实现,或者更好的情况下,利用一下数组自身的压缩能力实现。 解决方法一:原创 2021-02-07 22:37:44 · 310 阅读 · 1 评论