新闻详情

新闻详情

首页 / 资讯中心 / 详情

代码笔记(一)

发布时间:2026/9/26 11:09:03来源:尧图网络
代码笔记(一)
关于加速加速 cin /coutios::sync_with_stdio(false);默认情况下C 的cin/cout和 C 的scanf/printf是同步绑定的。同步 每次读写都要两边同步速度慢。false关掉这个同步cin和scanf不再共享缓冲区速度大幅提升。⚠️ 关掉之后不要混用 cin 和 scanf、cout 和 printf会输出乱序。cin.tie(nullptr);默认cin绑定到cout。每次cin x的时候会先刷新 cout 的缓冲区保证输出先打印出来。tie(nullptr)把 cin 和 cout 解绑。不再每次读入都刷新输出减少开销继续提速。nullptr 是空指针C11 及以后老版本可以写cin.tie(0)。完整示例#include iostream using namespace std; int main() { // 放在main最前面 ios::sync_with_stdio(false); cin.tie(nullptr); int a, b; cin a b; cout a b endl; return 0; }做算法题输入数据量很大的时候上万、几十万组数据。 不写cin很慢直接超时 TLE。 写了速度接近scanf。ios::sync_with_stdio(false)之后不能同时用 cin 和 scanf输出顺序会乱。endl会强制刷新缓冲区比较耗性能提速代码搭配下优先用\n代替endl。cout a b \n; // 推荐更快 // cout a b endl; // 不推荐频繁刷新慢这两行只对cin/cout生效对scanf/printf没有影响。关闭 C/CIO 同步解绑 cin 和 cout加快 cin、cout 读写速度防止大数据超时。C 的 vector 动态数组这是C 的 vector 动态数组在vector头文件里刷题超级常用。vectorint存储 int 类型的动态数组nums是变量名(n)代表创建的时候直接开 n 个位置。vectorint nums(n);✅ 创建一个叫nums的 vector初始大小是 n里面每个元素默认初始化为0。举个例子vectorint nums(5);数组长度 5内容[0, 0, 0, 0, 0]vectorint nums(n, 10);开 n 个空间全部初始化为10vectorint nums(3,7)→[7,7,7]头文件#include vector using namespace std; // 刷题常用不然要写 std::vector完整小例子#include iostream #include vector using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin n; vectorint nums(n); // 开辟n个int默认0 for(int i 0; i n; i){ cin nums[i]; // 像普通数组一样读取 } for(int i 0; i n; i){ cout nums[i] \n; } return 0; }更多用法vectorint v; // 空vector长度0 v.size(); // 返回当前元素个数相当于数组长度 v.push_back(5); // 在末尾追加元素5自动扩容 v.pop_back(); // 删除末尾元素 v.clear(); // 清空所有元素size变成0 v.empty(); // 判断是否为空空返回true v[0] // 和数组一样下标访问不检查越界⚠️ 区分两个容易搞混写法vectorint nums(n); // 方案1直接创建n个元素sizen可以直接nums[i]赋值 vectorint nums; // 方案2空vectorsize0不能直接nums[i]只能push_back添加❌ 错误示例vectorint nums; nums[0] 1; // 不行现在size是0下标0不存在越界和普通数组int a[n]的区别int a[n]变长数组C 标准不推荐栈空间有限n 太大容易栈溢出vectorint nums(n)在堆上分配内存n 可以很大算法题首选程序安全支持自动扩容问vectorint nums(n)初始化后里面元素值是什么答默认值初始化int 类型默认是 0。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

lmbench-3.0微基准测试实战:定位系统性能瓶颈与避坑指南 2026/9/26 12:05:02

lmbench-3.0微基准测试实战:定位系统性能瓶颈与避坑指南

简介:lmbench-3.0 是一款由 Larry McVoy 编写的多平台开源性能基准测试工具,面向系统管理员、内核与驱动开发者以及硬件评测工程师,用于评估系统综合性能,尤其在内存带宽与内存延时测试方面表现突出。资源包共 225 个文件&#xf…

阅读更多 →
从技术报告看 OpenGuardrails:一个真正统一的开源大模型安全护栏 2026/9/26 12:05:02

从技术报告看 OpenGuardrails:一个真正统一的开源大模型安全护栏

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
G.654.E比G.652.D容量大?答案取决于OSNR与场景 2026/9/26 12:05:02

G.654.E比G.652.D容量大?答案取决于OSNR与场景

搞光通信的人,应该都遇到过这个经典“送命题”:新来的同事、正在做集采的评标专家、甚至传输机房的老哥,指着标书问一句“G.654.E光纤的传输容量,是不是比G.652.D大?”你要是直接回“是”,懂行的人会认为你…

阅读更多 →
Notepad++ 安装包下载避坑指南:架构选型、插件配置与静默部署 2026/9/26 12:05:02

Notepad++ 安装包下载避坑指南:架构选型、插件配置与静默部署

简介:Notepad安装包面向Windows平台下需要轻量级代码编辑器的程序员与普通用户,用于替代系统自带记事本,解决日常文本编辑、编程开发与多语言代码查看等需求。压缩包共104个文件,约3.9MB,以89个xml配置文件为主&#x…

阅读更多 →
用BLE+Web Bluetooth实现ESP32无线调试:从原理到实战 2026/9/26 12:05:02

用BLE+Web Bluetooth实现ESP32无线调试:从原理到实战

如果你玩过 ESP32 开发,大概率有过这样的经历:程序写好后,为了看串口日志,得老老实实坐在工位上,插上 USB 线,打开串口监视器。一旦产品装进外壳、放在天花板上或者楼下测试点,这根线就成了最大…

阅读更多 →
红色视差CSS模板:分层滚动与CSS变量实战指南 2026/9/26 12:04:55

红色视差CSS模板:分层滚动与CSS变量实战指南

简介:红色视差CSS网页模板面向网页设计师与前端初学者,提供一套以红色为主色调、融合视差滚动效果的完整静态站点方案,可用于个人作品集、企业宣传页或活动专题页的快速搭建。压缩包共81个文件,约1.17MB,包含49个png、…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉