摘要: Sol 简单计算几何。 直接把四边形拆成两个三角形,枚举两侧最大的即可。 注意凹多边形,如果所有的点都在同侧,那么需要最大的减去最小的才行。 Code #include <bits/stdc++.h> #define x first #define y second #define pb push_ 阅读全文
posted @ 2025-03-10 17:11 incra 阅读(2) 评论(0) 推荐(0) 编辑
摘要: Sol 如果两个点相邻,那么边权为 1。 如果两个点能通过一次操作来联通,此时这两个点一定满足 x 或者 y 的差小于等于 2(手摸一下就知道了),此时边权为 1。 其他情况边权就是 +。 直接跑最短路,时间复杂度 O(k2)阅读全文
posted @ 2025-03-10 17:10 incra 阅读(2) 评论(0) 推荐(0) 编辑
摘要: Sol 注意到加数次数总共就很少,那么删数操作也同样很少,所以暴力删除即可。 考虑如何找到原数所在的下标,直接二分,找到第一个满足 i 减去 1i 已经被删的数的数量等于 k 的下标就是第 k 个数实际的位置,可以用二分树状数组。 时间复杂度 \(O(n\l 阅读全文
posted @ 2025-03-10 17:09 incra 阅读(4) 评论(0) 推荐(0) 编辑
摘要: Sol 不难想到暴力 DP,复杂度 O(tk2),无法通过。 观察转移方程,注意到贡献到每个点的状态一定是连续的区间,那么用前缀和维护就好了。 偏移量可以设置的大一些以防 RE。 Code #include <bits/stdc++.h> #define x first #define y 阅读全文
posted @ 2025-03-10 17:06 incra 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Sol 很考验注意力啊。 注意限制是边权最大值,想到二分,对于能反向的边建双向边,否则建单向边,跑缩点后判断是否只有一个点没有入度,证明显然。 自己想出来的 *2200,很难得啊。 Code #include <bits/stdc++.h> #define x first #define y sec 阅读全文
posted @ 2025-03-10 17:05 incra 阅读(2) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示