社区
C++ 语言
帖子详情
memset的时间复杂度是多少?用for,和用这个初始化数组,直接访问最后一个元素,时间差了500MS……
welon123
2010-12-17 11:08:17
memset的时间复杂度是多少?用for,和用这个初始化数组,直接访问最后一个元素,时间差了500MS……
OJ提交时显示
...全文
1618
9
打赏
收藏
memset的时间复杂度是多少?用for,和用这个初始化数组,直接访问最后一个元素,时间差了500MS……
memset的时间复杂度是多少?用for,和用这个初始化数组,直接访问最后一个元素,时间差了500MS…… OJ提交时显示
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
西电小楠
2011-08-18
打赏
举报
回复
最后也没结果吗??
fantiyu
2010-12-18
打赏
举报
回复
to 6楼:你确定?你真的确定吗?你确定看过for循环在release下编译后的汇编代码?
fantiyu
2010-12-18
打赏
举报
回复
memset在32位cpu,未用到MMX之类指令集的时候,每次循环写入4字节
楼主的循环一次写几字节? 如果是1字节,那我一点都不惊讶
jackyjkchen
2010-12-18
打赏
举报
回复
如果你用release优化,基本上for循环会优化成memset
zenny_chen
2010-12-18
打赏
举报
回复
呵呵,复杂度当然还是O(n)。
你数组共有多少字节?能相差500ms?
就想叫yoko
2010-12-17
打赏
举报
回复
[Quote=引用 3 楼 arong1234 的回复:]
所谓的直接访问最后一个元素是什么意思?memset和循环设置每个元素貌似差别不了多少,你不会只设置了一个元素吧?
引用楼主 welon123 的回复:
memset的时间复杂度是多少?用for,和用这个初始化数组,直接访问最后一个元素,时间差了500MS……
OJ提交时显示
[/Quote]同问,你测也应该是测memset数组以及遍历数组赋值才对吧
arong1234
2010-12-17
打赏
举报
回复
所谓的直接访问最后一个元素是什么意思?memset和循环设置每个元素貌似差别不了多少,你不会只设置了一个元素吧?[Quote=引用楼主 welon123 的回复:]
memset的时间复杂度是多少?用for,和用这个初始化数组,直接访问最后一个元素,时间差了500MS……
OJ提交时显示
[/Quote]
luciferisnotsatan
2010-12-17
打赏
举报
回复
单步调试,跟进去看下。估计是直接用汇编写的。
最多就 N 吧
bluejays
2010-12-17
打赏
举报
回复
不知道他的时间复杂度是多少,只听说memset都是很牛的人写的,而且针对不同的cpu和系统都有优化,那性能绝对是相当的高
高精度快速幂算法详解:从麦森数计算到C++工程实现
高精度计算是处理超出标准数据类型范围的超大整数运算的核心技术,其原理是通过
数组
或字符串模拟手工算术过程。在涉及幂运算的场景中,
直接
计算会导致指数级复杂度,因此需要结合快速幂算法,将计算复杂度从O(n)降至O(log n)。这种高精度快速幂的技术价值在于,它能高效求解诸如RSA加密、数论猜想验证等需要处理天文数字的工程与科学问题。一个经典的应用场景是计算麦森数(形如2^P-1的数)的特定位数。本文以洛谷P1045题为载体,深入剖析如何利用**万进制优化**和**截断乘法**,在C++中实现一个兼顾性能与可读性
信息学奥赛题‘流感传染’的两种C++解法:从O(mn²)到O(n²)的性能飞跃实战
本文深入解析信息学奥赛题‘流感传染’的两种C++解法,从O(mn²)的朴素模拟到O(n²)的队列优化,展示了算法优化的关键思路与性能飞跃。通过OpenJudge NOI 2.3 6262题的实战案例,帮助竞赛选手掌握
时间复杂度
优化技巧,提升解题效率。
【题解】- 洛谷 P3383 【模板】线性筛素数 【素数筛(欧式筛)】
P3383 【模板】线性筛素数 题目描述 如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内) 输入格式 第一行包含两个正整数N、M,分别表示查询的范围和查询的个数。 接下来M行每行包含一个不小于1且不大于N的整数,即询问该数是否为质数。 输出格式 输出包含M行,每行为Yes或No,即依次为每一个询问的结果。 输入输出样例 输入 100 5 2 3 4 91 97...
纯C写的字符版俄罗斯方块,带exe和逐行注释,开箱即用
一个不依赖图形库的纯ANSI C实现的俄罗斯方块游戏,全部逻辑跑在Windows命令行里。核心代码写在Tetris.c里,关键环节比如方块生成规则、顺时针旋转算法、下落碰撞判断、满行清除逻辑都加了中文注释,新手也能看懂每一步怎么运作。包里
直接
附了编译好的Tetris.exe,双击就能玩,不用装环境、不用配路径。操作很简单:方向键控制移动,空格键加速下落,P键暂停,ESC退出。配套的使用须知.txt写了怎么用GCC或VC++6.0重新编译,也列出了常见报错原因和解决办法。整个项目没用任何第三方库,所有绘图靠p
BFS、双向BFS
vijos 1360 八数码问题 背景 Yours和zero在研究A*启发式算法.拿到一道经典的A*问题,但是他们不会做,请你帮他们. 描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局的转变。 格式 输入格式 输入初试状态,一行九个数字,空格用0...
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章