news 2026/4/30 17:51:51

红黑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/4/23 17:50:05

技术人理财【20260120】

文章目录 核心理念:理财不是发财,是管理你的现金流,让钱为你工作。 第一阶段:启动与诊断(2026年1季度) 第1步:建立财务仪表盘(本周完成) 第2步:构建你的财务防火墙(本月完成) 第3步:自动化你的储蓄(下个月发工资立刻设置) 第二阶段:配置与优化(2026年2-3季度)…

作者头像 李华
网站建设 2026/4/22 20:49:15

Visual C++运行库完整修复与优化指南

Visual C运行库完整修复与优化指南 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 当您启动心爱的游戏或专业软件时&#xff0c;是否遭遇过"MSVCP140.dll缺…

作者头像 李华
网站建设 2026/4/23 1:16:14

华为光猫配置解密工具:3大功能助你轻松管理网络设备

华为光猫配置解密工具&#xff1a;3大功能助你轻松管理网络设备 【免费下载链接】HuaWei-Optical-Network-Terminal-Decoder 项目地址: https://gitcode.com/gh_mirrors/hu/HuaWei-Optical-Network-Terminal-Decoder 想要深入了解华为光猫配置文件的奥秘吗&#xff1f;…

作者头像 李华
网站建设 2026/4/23 13:35:39

AMD Ryzen处理器深度调校全攻略:解锁SMUDebugTool隐藏潜能

AMD Ryzen处理器深度调校全攻略&#xff1a;解锁SMUDebugTool隐藏潜能 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…

作者头像 李华
网站建设 2026/4/23 12:19:19

Mermaid Live Editor深度解析:重新定义在线图表创作体验

Mermaid Live Editor深度解析&#xff1a;重新定义在线图表创作体验 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-edit…

作者头像 李华
网站建设 2026/4/29 18:14:35

Mermaid Live Editor:零基础快速掌握在线流程图制作

Mermaid Live Editor&#xff1a;零基础快速掌握在线流程图制作 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-editor …

作者头像 李华