hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 821|回复: 5

序列的翻转输出

[复制链接]

926

主题

1137

帖子

3586

积分

超级版主

Rank: 8Rank: 8

积分
3586

论坛头条论坛元老谋士数据帝优秀版主超级版主见习版主论坛版主

发表于 2024-2-28 13:28:45 | 显示全部楼层 |阅读模式
题目虽然很简单。但我最好的结果也只是 执行时间 0.124s,内存消耗 1320 KB。  求助。
而该题的提交排行榜上 有很多人的 执行时间是0.001s,很好奇是怎么做到的。

http://acm.timus.ru/problem.aspx?space=1&num=1001
附带我的代码,中规中矩,
  1. #include <stdio.h>#include <stdlib.h>#include <math.h>int main(int argc, char *argv[]){    #define SIZE 128*1024//这个SIZE值是反复尝试出来的    double head[SIZE];    int cnt=0;    long long input;    while(scanf("%lld",&input)!=EOF){        head[cnt++] = sqrt(input);    }    while(cnt>0){        printf("%.4lf\n",head[--cnt]);    }    return 0;}
复制代码
世界上最遥远的距离,不是生与死的距离,而是我站在你面前,你却不知道我爱你
回复

使用道具 举报

0

主题

193

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2024-2-28 13:29:32 | 显示全部楼层
应该是网站的问题. 因为我又挑选了一道简单的题目. 发现 依旧是有一堆的 答案是0.001s,都是 intel C/C++ 的compiler
回复

使用道具 举报

0

主题

176

帖子

67

积分

关内侯

Rank: 2

积分
67
发表于 2024-2-28 13:30:28 | 显示全部楼层
1.
while(scanf("%lld",&input)!=EOF){
        head[cnt++] = sqrt(input);
    }
这样的io操作中间最好不要有其他的操作?是不是可以提高io效率?

2. 必须要用sqrt()吗?sqrtf()行不行?只要求小数点后4位的精度。

3. printf("%.4lf\n",head[--cnt]);效率是不是比较低?最多要打印14560次
回复

使用道具 举报

0

主题

181

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2024-2-28 13:31:17 | 显示全部楼层
1) 这样的IO是怎样的IO,可否详细说明 不利的地方
2) 因为题目说了输入是 long long 的范围. 如果用sqrtf, 将会发生 long long 截断转化成 float 型. 这个在 输入不是特别大的时候,能保证精度,  当输入比较大的时候,超出了最大 int 的范围, 可能会在小数点后面出现误差.
3) 这个还有改进的地方吗? 因为题目要求是要打印出来的
回复

使用道具 举报

0

主题

167

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2024-2-28 13:32:02 | 显示全部楼层
printf 输出十进制字符,内部估计需要大量的除法运算,若能优化一下收益肯定很大。
它要求精确到小数点后四位,可否避免用浮点算法,改用定点算法,甚至是整型替代浮点算法?当然代码量就上去了。。。
回复

使用道具 举报

0

主题

172

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2024-2-28 13:32:30 | 显示全部楼层
Solved problems: show | hide  •  Sort by: id | authors | difficulty        Volume 2 →

ID        Title        Source        Authors        Difficulty
Ok        1000        A+B Problem                77032        17
Ok        1001        Reverse Root                22240        17
Ok        1068        Sum                27511        42
Ok        1025        Democracy in Danger        Autumn School Contest 2000        17652        71
Ok        1083        Factorials!!!        Spring School Contest 2001        14811        74

该题 在timus上 是 难度级别最低的,仅次于  A+B Problem ,   所以应该不会到这个层次,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-5-2 21:08 , Processed in 0.067467 second(s), 23 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

快速回复 返回顶部 返回列表