随笔分类 - 学科竞赛--算法学习
摘要:
from pixiv 基础跳表原理 【编程】动画解析 Redis zset 的底层结构:跳表:原理讲解+代码实现 层峦叠嶂:跳表结构讲解和 C++ 实现: 数据原理讲解+代码实现 跳表是一种类似于链表的数据结构。更加准确地说,跳表是对有序链表的改进。 为方便讨论,后续所有有序链表默认为 升序 排序。
阅读全文

摘要:
写在前面: 非正式题解,题解在QQ官群有(虽然没有代码) 小度养小猫 首先对ci按照大小排个序,然后再时间允许的情况下越早越好 这个倒是想到了,但是有一个问题:我们如何快速找到对应的猫应该喂养的时间? 如果时间没有冲突还好说,直接按照分配即可 但是如果时间有冲突了,同时可能有些时间已经被分配走了,如
阅读全文

摘要:
写在前面 参考博客< 课程安排 我们首先要解决的问题是: 如何判断课程冲突? 首先如果他们在最开始就冲突了,那么就一定冲突 最开始即 [s%t,f%t] 这一段区间,初相位? 然后呢? 不知道 不妨假设一下,如果他们的t不相同,那么就存在冲突 其实可以画个图 在无限长的区间中,如果t不相同,那么一定
阅读全文

摘要:
写在前面: 非正式题解 具体题解处: 视频< 博客< 公园 我们可以想一下小度和度度熊一定会相遇一起走吗? 会的,最不济的情况到最后小度和度度熊会在终点相遇 为了总消耗最少,他们从一个点到另一个点一定是走最短路 那他们也可能会为了相遇从而不是一口气从原点走到终点的 于是我们可以枚举他们相遇的点,相遇
阅读全文

摘要:
RC-u2 出院 注意:只需要将名字拆分成两个已知等级的部分 我比赛的时候根本没看到这两个字,写到最后写了个复杂的递归,还错了.... 我直接要进院了 RC-u4 相对论大师 当时看到的时候一眼觉得的拓扑排序??? 赛后想一下,他题目可没说这个图不能环,然后寄了 RC-u5 相对成功与相对失败 CA
阅读全文

摘要:
RC-u2 女王的大敕令 当时我写的时候还dfs()去枚举开始点和停留点 其实完全没有必要,直接4层for循环 2层枚举开始点,其余两层枚举停留点 然后判断开始点与停留点之间的步数是否合法 是否会被怪物击中即可 #include<iostream> #include<cstring> #includ
阅读全文

摘要:
写在前面: 将这两场比赛放在一起是想总结一下写巨复杂的模拟题的心得 比较好的题解博客: 2021CAIP复赛 2022CAIP省赛 《7-1 冒险者分队》 这是题目比较重要的一点,同时可以发现不管是加还是减,都是20的倍数 明显,如果原值与目的值的差值 不能整除20,则必然会失败 同时我们还可以得到
阅读全文

摘要:
《7-1 懂的都懂》 这道题其他没什么,就是暴力 但是注意上面,我们算平均值的时候要用double 如果对double不放心(因为double其实有时候并不准确) 可以写成如下样子: #include<iostream> #include<cstring> #include<algorithm> #
阅读全文

摘要:
最长上升子序列 之前我定义的dp是: dp[n][i]:表示在前n个数中选,并以数a[i]结尾的最长上升序列 但是这个状态的转移有点不自然,感觉就想有很多多余的感觉 if (i<=n-1) dp[n][i]=dp[n-1][i] if (a[i]>a[j] && j<=n-1) dp[n][i]=m
阅读全文

摘要:
STL 当想要维护一个数组,其中的元素要求有序,同时可能随时对这个数组中的元素进行增减 有没有一个STL可以快速维护一个这样的数组? multiset(平衡二叉树) 默认从小到大排序 注意离散化中清除重复元素的原理: unique()函数 vector中的earse是删除指定一段,所以离散化有: 《
阅读全文

摘要:
《斐波那契与 7》 写的时候第一次尝试了暴力,跑了一个小时多都没有跑完 查了一下,大概1s可以跑1e8条指令 如果真要跑的话 202202011200 ,应该跑到比赛结束应该内跑完(希望电脑不会炸) 暴力还是不合理的,遇到这种情况试一下循环节 对于斐波那契数列Fn=Fn-1+Fn-2 所以只要出现了
阅读全文
