ABC 341

前五题水。

提一嘴 D:应该是 x/n + x/m - 2 * x/lcm(n,m),而不是 x/n + x/m - 2 * x/nm

F

题意:

给定图。每个点有权值 w。初始每个点有 ai 个片。每次操作可以选定一个有片片的点,拿走它的一个片片,然后从它的邻点中选若干个,要求满足选出的点权值总和小于该点权值,把选出的点片片数量+1。

问:最多能操作几次?n,m,wi5000

考虑对每一个点求出 vi 表示在这个点上的一个片,能衍生出多少次操作。

wi 从小到大将点排序。记 mnwi 的最小值。显然 wi=mn 的只会衍生一次操作。

对于 wi>mn 的,做个背包就行了。

求出 vi 之后,vi×ai 就是答案。

G

题意(抽象过):有 n 个点 pi=(i,si),对于每个 pi,求出 pi+1pn 中哪个点与其组成的斜率最大。

用单调栈维护每个点。

显然 ans[n] 的答案很简单。让栈内放一个点 n。然后从 pn1 往前扫。

当我们枚举到 pi(i,si),如果当前栈顶与 pi 的斜率不如栈顶下方的点与 pi 的斜率大,则当前栈顶永远不会有用了,pop 即可。不断 pop 完后,栈顶就是 pi 的答案。

posted @   FLY_lai  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示