news 2026/1/29 2:42:28

☆ 异或和|倒数第二步

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
☆ 异或和|倒数第二步

lc2505

遍历数组累加前缀和,不断将当前数和前缀和与结果做或运算

最终得到所有子序列和的或值

算所有子序列和的或值,只需看每个二进制位是否能被“激活”:子序列和的任意二进制位为1,必然对应

1.“单个元素”

2.或“某个前缀和”的该位为1(前缀和覆盖了所有长于1的子序列和的位贡献可能)

class Solution {

public:
long long subsequenceSumOr(vector<int>& nums) {
long long sumOr = 0, prefixSum = 0;
for (int num : nums) {
prefixSum += num;
sumOr |= num;
sumOr |= prefixSum;
}
return sumOr;
}
};

lc2083

class Solution {
typedef long long ll;
public:
long long numberOfSubstrings(string s) {
ll ret=0;
unordered_map<char,int> hash;
for(auto& c:s)
hash[c]++;
for(auto& [a,b]:hash)
{
ret+=b*(ll)(b+1)/2;
}
return ret;
}
};

lc1072

hash

把每行转化为“与首元素(基准)的异或模式串”

统计出现次数最多的模式,其次数就是可得到的最多相等行数

class Solution {

public:
int maxEqualRowsAfterFlips(vector<vector<int>> &matrix) {
int ans = 0, n = matrix[0].size();
unordered_map<string, int> cnt;
for (auto &row: matrix) {
string r(n, 0);
for (int j = 0; j < n; ++j)
r[j] = row[j] ^ row[0]; // 翻转第一个数为 1 的行
ans = max(ans, ++cnt[r]);
}
return ans;
}
};

喵喵优化

vector<bool> 替代字符串存模式(更省内存,因为 vector<bool> 是比特级存储)

加 move(t) 避免vector拷贝(直接转移内存所有权)

逻辑上通过“首元素为1时翻转整行”统一模式,统计重复最多的模式数——本质是把“可通过列翻转变成相同的行”归为同一类,次数最多的类就是答案。

class Solution {
public:
int maxEqualRowsAfterFlips(const vector<vector<int>>& matrix) {
unordered_map<vector<bool>, int> cnt;
int ans = 0;
for (const auto& e : matrix) {
vector<bool> t(e.begin(), e.end());
if (e[0]) t.flip();
ans = max(ans, ++cnt[move(t)]);
}
return ans;
}
};

lc2128

与行首异或

记录每行状态

微调 true即同模式

class Solution {

public:

bool removeOnes(vector<vector<int>>& grid)

{

int n = grid[0].size();

unordered_map<string, int> hash;

for (auto &row: grid) {

string r(n, 0);

for (int j = 0; j < n; ++j)

r[j] = row[j] ^ row[0];

++hash[r];

}

return hash.size()==1;

}

};

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

LobeChat能否实现多轮对话优化?上下文理解增强策略

LobeChat的多轮对话优化实践&#xff1a;上下文理解如何真正落地&#xff1f; 在今天&#xff0c;一个聊天机器人“听懂”用户说了什么&#xff0c;已经不再稀有。但真正考验其智能水平的&#xff0c;是它能否记住你之前说过的话——比如你在三轮对话前提到的偏好、设定的角色…

作者头像 李华
网站建设 2026/1/25 1:44:17

如何在Windows和Linux上完成TensorRT安装包的部署

如何在Windows和Linux上完成TensorRT安装包的部署 在AI模型从实验室走向生产环境的过程中&#xff0c;推理效率往往成为决定系统能否落地的关键瓶颈。一个在训练时表现优异的模型&#xff0c;如果在服务端响应迟缓、吞吐低下&#xff0c;就难以支撑真实业务场景的需求。尤其是…

作者头像 李华
网站建设 2026/1/27 12:21:53

Dify在边缘计算场景下部署的可行性评估

Dify在边缘计算场景下部署的可行性评估 在智能制造车间&#xff0c;一位维修工程师正对着一台故障设备束手无策。他拿起手持终端&#xff0c;用语音提问&#xff1a;“XX型伺服电机报过热警报&#xff0c;可能原因有哪些&#xff1f;”不到两秒&#xff0c;本地AI助手便返回了结…

作者头像 李华
网站建设 2026/1/28 11:18:10

LobeChat能否对接Airtable?轻量级数据库联动方案

LobeChat能否对接Airtable&#xff1f;轻量级数据库联动方案 在智能助手逐渐从“能说会道”走向“能做实事”的今天&#xff0c;一个关键问题浮出水面&#xff1a;如何让AI不只是复述知识&#xff0c;而是真正介入业务流程、操作真实数据&#xff1f;比如&#xff0c;销售经理随…

作者头像 李华
网站建设 2026/1/24 6:00:57

LobeChat能否实现AI故事续写?创意写作激发灵感

LobeChat能否实现AI故事续写&#xff1f;创意写作激发灵感 在数字创作的浪潮中&#xff0c;越来越多的写作者开始面临一个共同困境&#xff1a;灵感枯竭、文风断层、设定空洞。即便是经验丰富的作家&#xff0c;在面对长篇小说或复杂世界观构建时&#xff0c;也常常需要反复推敲…

作者头像 李华
网站建设 2026/1/28 6:31:08

AI知识科普丨什么是 ModelOps?

ModelOps 是 AI Engineering 的核心&#xff0c;专注于人工智能&#xff08;AI&#xff09;、决策模型、深度分析的端到端治理与生命周期管理。 在构建好 AI 基础设施并配置好学习框架和推理引擎后&#xff0c;用户可以自行训练并验证模型&#xff0c;然后通过模型仓库发布模型…

作者头像 李华