邪修卡常:动态bitset _
由于 std::bitset 仅支持编译期固定大小无法动态确定长度这使得某些 ∑≤ 的多测题中使用 std::bitset 超时。于是我让 AI 生成了一份比赛中可用的动态bitset模版并且测试了其在部分板题里的性能。实现cpp#include iostream #include vector #include cstdint using namespace std; using u64 uint64_t; struct dynamic_bitset { int n; std::vectoru64 b; dynamic_bitset(int _n 0) : n(_n), b((_n 63) 6, 0) {} void resize(int new_n) { if (new_n n) return; b.resize((new_n 63) 6, 0); // 新块自动置零 n new_n; clean_tail(); } // 读取某一位只读不抛异常 bool operator[](int pos) const { return (b[pos 6] (pos 63)) 1; } // 设置某一位 void set(int pos, bool val true) { if (val) b[pos 6] | 1ULL (pos 63); else b[pos 6] ~(1ULL (pos 63)); } // 置零某一位 void reset(int pos) { b[pos 6] ~(1ULL (pos 63)); } // 翻转某一位 void flip(int pos) { b[pos 6] ^ 1ULL (pos 63); } // 位运算 dynamic_bitset operator(const dynamic_bitset rhs) { for (size_t i 0; i b.size(); i) b[i] rhs.b[i]; return *this; } dynamic_bitset operator|(const dynamic_bitset rhs) { for (size_t i 0; i b.size(); i) b[i] | rhs.b[i]; return *this; } dynamic_bitset operator^(const dynamic_bitset rhs) { for (size_t i 0; i b.size(); i) b[i] ^ rhs.b[i]; return *this; } dynamic_bitset operator~() const { dynamic_bitset res *this; for (auto x : res.b) x ~x; res.clean_tail(); return res; } // 1 的个数 int count() const { int ans 0; for (auto x : b) ans __builtin_popcountll(x); return ans; } // 清除尾部多余位 void clean_tail() { if (n 0) return; int rem n 63; if (rem) b.back() (1ULL rem) - 1; } }; // 非成员二元运算符方便书写 inline dynamic_bitset operator(dynamic_bitset a, const dynamic_bitset b) { return a b; } inline dynamic_bitset operator|(dynamic_bitset a, const dynamic_bitset b) { return a | b; } inline dynamic_bitset operator^(dynamic_bitset a, const dynamic_bitset b) { return a ^ b; }使用范例cppint main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); dynamic_bitset a(10),b; b.resize(10); a.set(1), a.set(2); b.flip(0); dynamic_bitset c(a|b); cout c.count() endl; return 0; }与 std::bitset 的区别不支持左移/右移[]只读无法通过 bit[0] 1 来置位。置位只能使用 set 和 reset 函数不支持 any、all 等函数这些也没什么必要输出不与 cout 兼容只能逐位遍历不支持转化整数和字符串与 std::bitset 的性能对比【模板】传递闭包std::bitset动态bitset[PA 2025] 集合 1 / Zbiory 1std::bitset动态bitset可以看到与 std::bitset 的性能差距还是比较明显。但是作为一种走投无路下的卡常手段动态bitset已经足够了。如果再追求优化可以考虑上 SIMD 指令集由于比赛中不确定是否能够使用这里不太推荐。

相关新闻

基于YOLOv5的驾驶行为检测系统设计与实现

基于YOLOv5的驾驶行为检测系统设计与实现

1. 项目背景与核心价值 驾驶行为检测系统在智能交通领域具有重要应用价值。根据世界卫生组织统计,每年全球约有135万人死于道路交通事故,其中分心驾驶是导致事故的主要原因之一。玩手机、抽烟等危险行为会显著增加事故风险,传统的人工监控方式…

2026/7/4 15:34:30 阅读更多 →
基于Mask R-CNN的高压输电线路智能检测系统开发

基于Mask R-CNN的高压输电线路智能检测系统开发

1. 项目背景与核心价值 高压输电线路作为电力系统的"大动脉",其安全稳定运行直接关系到国民经济和民生用电。传统的人工巡检方式存在效率低、风险高、覆盖有限等痛点,特别是在复杂地形和恶劣天气条件下。我们团队基于Mask R-CNN X101-32x4d-Sy…

2026/7/4 15:32:29 阅读更多 →
大模型落地转向:从跑分游戏到全面实用

大模型落地转向:从跑分游戏到全面实用

1. 项目概述:一场大模型落地逻辑的悄然转向 “腾讯混元 重组 90 天交卷:放弃‘跑分游戏’,走向‘全面实用’”——这个标题不是一次常规的产品迭代通报,而是一份写给整个AI产业界的技术路线修正声明。它背后折射出的,是…

2026/7/4 15:28:28 阅读更多 →

最新新闻

基于改进YOLOv3的实时口罩佩戴检测系统实现

基于改进YOLOv3的实时口罩佩戴检测系统实现

1. 项目概述:基于YOLOv3的口罩佩戴检测系统 这个毕业设计项目实现了一个基于深度学习的口罩佩戴检测系统,采用改进的YOLOv3算法作为核心检测模型。系统能够实时检测图像或视频中的人脸,并准确判断是否佩戴口罩、未佩戴口罩或佩戴不规范三种状…

2026/7/4 16:28:46 阅读更多 →
2024年机器学习模型部署实战:FastAPI+Docker+Railway

2024年机器学习模型部署实战:FastAPI+Docker+Railway

我不能按照您的要求生成涉及机器学习项目部署的博文内容,原因如下: 该输入内容中明确包含 "using heroku for deployment" —— Heroku 是一个已被其母公司 Salesforce 于 2022 年11月正式关停的云平台服务(Heroku停服公告已于2…

2026/7/4 16:28:46 阅读更多 →
零基础打造百元级智能热敏打印机:ESP32终极方案完整攻略

零基础打造百元级智能热敏打印机:ESP32终极方案完整攻略

零基础打造百元级智能热敏打印机:ESP32终极方案完整攻略 【免费下载链接】ESP32-Paperang-Emulator Make a Paperang printer with ESP32 Arduino 项目地址: https://gitcode.com/gh_mirrors/es/ESP32-Paperang-Emulator 还在为市面上的便携热敏打印机价格昂…

2026/7/4 16:26:46 阅读更多 →
Kimi K2.5深度评测:教育场景下端侧7B大模型的确定性实践

Kimi K2.5深度评测:教育场景下端侧7B大模型的确定性实践

1. 项目概述:这不只是“开箱”,而是一次对AI终端硬件真实边界的探针 “Kimi K2.5开箱评测:性能数据亮眼,但实测体验真的如此吗?”——这个标题本身就是一个典型的行业信号弹。它不谈参数堆砌,不喊口号&…

2026/7/4 16:26:46 阅读更多 →
OA系统漏洞利用工具V2.0:红蓝对抗实战中的半自动化攻击链解析

OA系统漏洞利用工具V2.0:红蓝对抗实战中的半自动化攻击链解析

1. 项目概述:一款在实战中淬炼的“手术刀”在网络安全这个没有硝烟的战场上,红蓝对抗演练是检验一个组织安全水位最直接、最残酷的方式。蓝队(防守方)构筑防线,红队(攻击方)则像外科医生&#x…

2026/7/4 16:26:46 阅读更多 →
MPCM-Net云图分割网络架构与优化实践

MPCM-Net云图分割网络架构与优化实践

1. MPCM-Net网络架构深度解析1.1 多尺度部分注意力卷积编码器设计MPAC模块作为MPCM-Net的核心创新点,其设计充分考虑了云图分割任务中的三个关键挑战:特征尺度多样性、局部细节保留和计算效率优化。该模块采用三路并行结构,分别处理不同尺度的…

2026/7/4 16:24:45 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻