贪心

国王游戏

转化:每个大臣获得前面所有人(包含自己)的左手的乘积除以自己双手的乘积

让前缀积大的那个匹配较大的分母

()

先用卡特兰数的套路,把 “( ” 附为 1,“ )” 附为 -1

求一下前缀最小值

前缀最小值>0 的,按前缀最小值从大到小排,剩下的按后缀最大值排

股票

我们将每天的价格视为一个个"选项", 压入小根堆中,为了保证买入操作在卖出操作之前,我们从前往后扫描 p,对于现在的价格 pi ,如果堆顶元素 pj 满足 pj<pi ,那么,我们取出堆顶,在第 j 天买入股票,在第 i 天卖出股票,此时,我们就可以获得 pipj 的收益

然而,如果之后有 pk 满足 pk>pi ,我们当前作出的决策可能并不是最优的,如何反悔呢?

于是,当我们进行上述操作时,我们将 pi 也压入堆中,增加一个 pi 的选项,弹出时,我们相当于将 pj 按照 pi 的价格又买了回来

01 on Tree

想了一个东东,但我错了

选 sum1/sum0 小的然后把他合并到他的祖先结点上,那么最后合并到 1 的串就是答案数列

我错哪了

就是这玩意要用并查集

Hotel

还是那句话,好好看条件

感觉跟超市购物一样

找第一个容量 > 他的,也就是维护和最小的

求出所有的差值,从大到小取

春节十二响

先想链的部分:把左右两个集合排序,取最大值

树的也一样:给每个点开一个堆,每次将 siz 小的合并到 siz 大的堆中

名曰启发式合并

Foo Fighters

二分的没听懂……

还是贪心来的快

位运算,按位取

与运算一个比较优秀的性质就是一个数与上另一个数时只有低于它最高位的位数才会被影响

所以从0~62枚举最高位就可以保证后面所作的更改不会影响到前面的决策

奇数个 1 可以想到用重复贡献,就是 (1)n

枚举到一个位把所有以这个位为最高位的数的贡献都加上,如果与原数同号就有必要改

那么就把这个位为 1 的数的 val 都取反(对应 (1)n)

posted @   小惰惰  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
/* 鼠标点击求赞文字特效 */
点击右上角即可分享
微信分享提示