时空的交织
思路:同样要考虑决策点(最大值、最小值),不过这次没有踩坑。
AC代码:https://www.luogu.com.cn/paste/g976jhxm
命运的抉择
思路:容易知道,如果两个质数存在于一个 a i a_i ai 中,那么两质数所在的元素必须划分到一个集合中。用并查集维护连通性。
AC代码(我的代码是在值域上维护连通性,和思路中写法不一样):https://www.luogu.com.cn/paste/324av7ln
以下三题充分的体现出了我对 corner case 掌控力的不足:
错综的统一
题解:链接
思路:容易知道最重要形成一个类似于循环体 / 循环矩阵的结构,一共有 12 种。
corner case :当矩阵长宽为 2 时,还存在另几种结构,详见题解。
AC代码:https://www.luogu.com.cn/paste/txssb2b2
人生的起落
题解:【更新完毕】2024牛客寒假算法基础集训营6 题解 | JorbanS
思路:太麻烦了不写,详见上题解。
AC代码:https://www.luogu.com.cn/paste/7w3jfuc2
纷乱的红线
题解:链接
思路:我的板子中的圆是浮点类型的,为了排除精度误差的问题,需要使用整形,然后自己写各种判断方法。
在上题解中,排除掉各种 case 之后,剩下 两种 :
- 有一个点在圆上,另一个在圆外
- 两个点都在圆外
对于 1,可以判断两个夹角是否是锐角,用到了点积。对与 2,需要判断直线和圆是否相离(我的板子中仍然是浮点型),先用叉积算出四边形面积,然后除以底边得到高。注意需要用整形防止精度问题,同时使用 __int128
防止溢出。
代码:见题解。