摘要:
解题思路 不难的题,但是细节有亿点多…… 观察三组样例不难发现,我们可以把所有的信用卡的圆角去掉,变成一个长 \(b-2\cdot r\),宽 \(a-2\cdot r\) 的矩形。考虑将这个矩形的四个顶点加入一个点集中,然后求凸包,答案即为这个凸包的周长加上一个半径为 \(r\) 的 ⚪ 的周长。 阅读全文
posted @ 2024-02-07 09:59
UncleSam_Died
阅读(63)
评论(0)
推荐(0)
摘要:
解题思路 增量法求三维凸包。 我们先选择一个面,将这个面作为当前凸包上的一个面,然后考虑不断地添加新的点,并更新凸包,最后用法向量计算每个面地面积,加起来即为答案。 那么如何添加点呢?我们将新的点看作是一个光源,那么光线打到凸包上,会有一些地方照到(两面),有一些地方没有被照到(暗面),同时会有一些 阅读全文
posted @ 2024-02-07 09:59
UncleSam_Died
阅读(87)
评论(0)
推荐(0)
摘要:
解题思路 其实还是很好想的,但是似乎有一点难写大概率是我写史了。 直接无脑分块。 我们将序列分为若干块后,直接每一个操作分别模拟即可: 区间修改: 我们对于整块直接给块赋一个统一的值就行了,对于零散块和在一个块内的则暴力修改; 区间反转: 我们对于整块打上一个反转标记,每次异或 \(1\),对于零散 阅读全文
posted @ 2024-02-07 09:58
UncleSam_Died
阅读(138)
评论(0)
推荐(0)
摘要:
解题思路 分块做法 加法乘法打上标记,然后零散块下传一下就可以了。 开 long long 后减少取模次数可以有效减少运行时间。 然后加上快读就可以稳定 AC 了。 AC 代码 #include<math.h> #include<stdio.h> #include<stdlib.h> #define 阅读全文
posted @ 2024-02-07 09:58
UncleSam_Died
阅读(28)
评论(0)
推荐(0)
摘要:
解题思路 暴力做法 从 \(l\) 到 \(r\) 枚举每一个数,然后建线段树,记录最大下标,然后计算答案。 代码略。 时间 \(O(n^2)\),期望得分:\(10\) 分。 优化暴力 我们考虑每次枚举不遍历整棵线段树。显然,贪心的,最深的最右边的节点编号最大。那么我们可以发现,如果两颗子树大小相 阅读全文
posted @ 2024-02-07 09:58
UncleSam_Died
阅读(46)
评论(0)
推荐(0)

浙公网安备 33010602011771号