news 2026/3/26 0:12:28

红黑set优于heap|损人利己-总价值贪心

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
红黑set优于heap|损人利己-总价值贪心

lc1686

按石头对两人的总价值(a[i]+b[i])降序选,先手优先拿总价值高的石头以最大化双方价值差

简单来说就是既想自己拿得多,又要对手拿的少,那么拿对手分高的虽然自己没+1,但对面-1了啊,四舍五入就相当于自己赚了

所以自己赚的=自己得的(a[i])+ 对面损失的(b[i]),B也是这么想的。

围棋中有句谚语叫「敌之要点即我之要点」,在一处落子既可以加强自己又可以削弱对手

class Solution {
public:
int stoneGameVI(vector<int>& a, vector<int>& b) {
int n = a.size();
vector<int> idx(n);
ranges::iota(idx, 0);
ranges::sort(idx, {}, [&](int i) { return -a[i] - b[i]; });

int diff = 0;
for (int i = 0; i < n; i++) {
diff += i % 2 == 0 ? a[idx[i]] : -b[idx[i]];
}
return (diff > 0) - (diff < 0);
}
};

损人利己的贪心思路

单纯利己不对:如果每个人每次都拿当前自己收益最高的,剩下的石头中对方可能有价值更高的。

单纯损人不对:每次都拿对方收益最高的,但自己收益可能更低。

损人利己:每次拿自己的收益和对面收益加在一起最大的。即 (a[i]+b[i])降序选

lc2336

在需要频繁增删+多次区间/最值查询的场景下,C++ TreeSet( std::set / std::ordered_set )基于红黑树实现O(logn)时间的有序维护与精准查询

优于仅能高效维护堆顶的堆(Heap)

class SmallestInfiniteSet {
public:
SmallestInfiniteSet() {
for (int i = 1; i <= 1000; ++i) {
s.insert(i);
}
}

int popSmallest() {
int x = *s.begin();
s.erase(s.begin());
return x;
}

void addBack(int num)
s.insert(num);

private:
set<int> s;
};

/**
* Your SmallestInfiniteSet object will be instantiated and called as such:
* SmallestInfiniteSet* obj = new SmallestInfiniteSet();
* int param_1 = obj->popSmallest();
* obj->addBack(num);
*/

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/19 17:45:26

掌握ComfyUI ControlNet Aux:AI图像生成控制的终极指南

掌握ComfyUI ControlNet Aux&#xff1a;AI图像生成控制的终极指南 【免费下载链接】comfyui_controlnet_aux 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 在AI图像生成领域&#xff0c;精准控制一直是创作者追求的目标。ComfyUI ControlNet …

作者头像 李华
网站建设 2026/3/21 0:15:00

告别日文游戏乱码:区域模拟器完美解决方案

告别日文游戏乱码&#xff1a;区域模拟器完美解决方案 【免费下载链接】Locale-Emulator Yet Another System Region and Language Simulator 项目地址: https://gitcode.com/gh_mirrors/lo/Locale-Emulator 你是否曾经兴奋地下载了心仪的日文游戏&#xff0c;却因为满屏…

作者头像 李华
网站建设 2026/3/23 14:04:06

MGWR多尺度地理加权回归深度解析:从理论到实战权威指南

MGWR多尺度地理加权回归深度解析&#xff1a;从理论到实战权威指南 【免费下载链接】mgwr 项目地址: https://gitcode.com/gh_mirrors/mg/mgwr 多尺度地理加权回归&#xff08;MGWR&#xff09;作为空间统计领域的革命性突破&#xff0c;通过为每个解释变量分配独立的带…

作者头像 李华
网站建设 2026/3/21 22:28:24

Video2X视频放大完全攻略:从零开始掌握AI超分辨率技术

Video2X视频放大完全攻略&#xff1a;从零开始掌握AI超分辨率技术 【免费下载链接】video2x A lossless video/GIF/image upscaler achieved with waifu2x, Anime4K, SRMD and RealSR. Started in Hack the Valley II, 2018. 项目地址: https://gitcode.com/gh_mirrors/vi/vi…

作者头像 李华
网站建设 2026/3/11 13:32:13

零基础微信理财通基金实操指南(2026版)

文章目录 零基础微信理财通基金实操指南(2026版) 核心原则:不懂不投,先学再动 第一阶段:准备工作(第1周) 1. 开通理财通 2. 认识基金分类(理财通里的基金家族) 第二阶段:从零钱管理开始(第2周) 3. 把钱放进「零钱通」或「余额+」 第三阶段:第一次买基金(第3-4周)…

作者头像 李华
网站建设 2026/3/14 5:48:57

终极Mac窗口管理方案:Topit如何让你的多任务效率翻倍

终极Mac窗口管理方案&#xff1a;Topit如何让你的多任务效率翻倍 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 在现代数字工作环境中&#xff0c;你是否经常面…

作者头像 李华