文章分类 - oi
摘要:题目传送门 看到区间和极小的数据范围,就想到了区间 DP。 设对 DP 状态是关键,我们可以这样设置状态:\(dp_{x,y,z,t}\) 表示左上角为 \((x,y)\) ,右下角为 \((z,t)\) 的矩形中所有的 # 都被覆盖的最小代价。 对于每一个 \(dp_{x,y,z,t}\),我们把
阅读全文
摘要:题意解释: 一个 \(n\times n\) 个点的网格图上有 \(T\) 个不能覆盖的点,求这网格图上最大的正方形的边长。 55 pts 前缀和记录,枚举边长和左上角,\(O(n^3)\) 实现。 进一步优化,加一个二分,可以达到 \(O(n^2\log n)\),但 \(n\le 5\times
阅读全文
摘要:题目传送门 题意理解 题目已经说的很清楚了,输出第三个圆连接两个圆的最小半径。 两圆圆心之间的距离 根据两点间的面积公式,可以求出两圆圆心之间的距离长度为: \[\sqrt{(x_1-x_2)^2+(y_1-y_2)^2} \]设 \(l=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}
阅读全文
摘要:题目传送门 看到只要联通就行了,一下就想到了 MST。 首先想到的是暴力的思路,但要建 \(\frac{n(n+1)}{2}\) 条边,在 \(n\le 10^{5}\) 的数据范围下就会喜提 MLE。 这时我们想到了一个贪心的思路,可以先把原数组按 \(x\) 排序,很容易发现相邻两个的差是最小的
阅读全文
摘要:题目地址 简述题意: 给定一个序列 \(a\) 和 \(q\) 次询问,可以将序列重新排列,求排列后每次询问的总和的最大值。 思路: 贪心+线段树/树状数组。 我们可以记录每个点被区间覆盖的次数作为它的权重(记为 \(q[i]\))(这时要用到线段树/树状数组的区间修改),则询问的总和为: \[\s
阅读全文
摘要:# 由于luogu更新了,所以目前不可用 赞颂 [xiezheyuan](https://www.luogu.com.cn/user/413065 "xiezheyuan") 巨佬,他发明了“进程表自动机“,为广大 OIer 作出了巨大贡献! 下面是源代码: ```python import req
阅读全文
摘要:本题算法:二分+贪心+模拟 直通CF551C 1.时间复杂度 如果暴力枚举 \(O(n)=n^2\),当 \(n=10^9\) 时肯定会爆 二分法 \(O(n)=log_2(n)\times n\) , 当 \(n=10^9\) 时计算结果约是 \(31\times10^9\) 所以用二分法 ,再把
阅读全文

浙公网安备 33010602011771号