Um_nik

【题意】
给定两个集合 S,T,集合里每个元素都是一个二元组 (vi,si)。求 mini[1,|S|],j[1,|T|]sjsivj+vi
|S|,|T|105,vi>0

【分析】
一个基本方向是把式子拆成一边和 i 有关一边和 j 有关的。但是发现并不能直接化简。

使用二分答案解决。考虑答案是否大于等于 mid

怎么验证:如果大于等于,那么对任意 i,j 均有 sjsivj+vians

sjsivj+vianssjsians×(vj+vi)sjans×vjsi+ans×vi

因此得知 ans,可以遍历一遍验证。

【思考】
这个问题里面二分的用意是什么?我们有 min,我们将其消掉。
(我也搞不清楚为什么这样想,但是确实可以这么做)

ABC236E

【题意】
给定一个数组 a1,...,an,要求选定若干个数,使得不存在两个相邻的数都没有被选择。求最大平均数和最大中位数。

n105,1ai109
【分析】

这题也是可以二分。二分可以消除一边的偏序关系(这点倒是和莫比乌斯反演很像),使得接下来的判断具有贪心性质

考虑 ai|s|mid 可以怎么描述:我们可以把和式拆到每一个变量上!aimid×|s|(aimid)0。这个显然可以用 dp 求出。

中位数的二分就更显然了,可以贪心。

posted @   OIer某罗  阅读(122)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示