news 2026/5/16 21:09:26

☆ 异或和|倒数第二步

作者头像

张小明

前端开发工程师

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/5/16 3:42:30

LobeChat自动补全功能体验:打字还未完AI已响应

LobeChat自动补全功能体验&#xff1a;打字还未完AI已响应 在日常使用聊天工具时&#xff0c;你是否曾经历过这样的等待——话刚打到一半&#xff0c;手指还悬在键盘上&#xff0c;心里已经开始预判对方的回应&#xff1f;而当对面是AI时&#xff0c;这种“等”的感觉往往更明显…

作者头像 李华
网站建设 2026/5/16 9:47:42

PaddlePaddle模型压缩工具PaddleSlim使用:需提前配置git环境

PaddlePaddle模型压缩工具PaddleSlim使用&#xff1a;需提前配置git环境 在边缘计算和移动端AI应用日益普及的今天&#xff0c;一个训练得再精准的深度学习模型&#xff0c;如果无法高效部署到资源受限的设备上&#xff0c;其工业价值就会大打折扣。尤其是在智慧零售、工业质检…

作者头像 李华
网站建设 2026/5/7 5:17:58

手把手教你配置清华镜像源,流畅安装TensorFlow及依赖包

手把手教你配置清华镜像源&#xff0c;流畅安装TensorFlow及依赖包 在人工智能项目开发中&#xff0c;最让人抓狂的瞬间之一莫过于&#xff1a;你兴致勃勃地打开终端&#xff0c;准备 pip install tensorflow&#xff0c;结果半小时过去了&#xff0c;进度条还卡在“正在下载”…

作者头像 李华
网站建设 2026/5/15 3:41:44

LobeChat能否接入Twitter/X API?社交内容自动生成

LobeChat能否接入Twitter/X API&#xff1f;社交内容自动生成 在内容为王的时代&#xff0c;持续产出高质量的社交媒体内容成了个人创作者、品牌运营者乃至技术团队的一大挑战。手动撰写、反复修改、逐个平台发布——这套流程不仅耗时耗力&#xff0c;还容易因疲劳导致风格走样…

作者头像 李华
网站建设 2026/5/10 4:51:54

腾讯HunyuanVideo-Foley开源:实现声画合一的AI音效革命

腾讯HunyuanVideo-Foley开源&#xff1a;实现声画合一的AI音效革命 2025年8月28日&#xff0c;腾讯混元团队悄然放出了一个可能彻底改写内容创作规则的技术炸弹——HunyuanVideo-Foley。这不仅是一款AI音效生成模型&#xff0c;更是一次对“视频为何长期失声”的系统性回答。它…

作者头像 李华
网站建设 2026/5/6 14:02:51

LobeChat响应式布局测试:平板与桌面端显示效果对比

LobeChat 响应式布局与多模态交互深度解析 在远程办公、移动学习日益普及的今天&#xff0c;用户对 AI 聊天工具的要求早已超越“能对话”这一基本功能。他们希望无论是在办公室的大屏显示器前&#xff0c;还是在通勤路上用 iPad 操作&#xff0c;都能获得一致流畅、操作自然的…

作者头像 李华