初学acmer--《算法竞赛入门经典》笔记(十)P54-56

1.在c语言中,“乘以二”可以写成“<<1”,意思是“左移一位”。类似的,“(1<<8)-1”表示2^8-1,需要注意的是,括号是必须的,因为“<<”的优先级没有减法高

2.补码表示法:计算机中二进制是没有符号的。在计算机中,-n的内部表示是2^32-n。

从百度百科弄了两张图,如下:

可能有人好奇为什么计算机不采取将32位中的第一位设置为“符号位”的方法来表示负号呢?既然没有采用这种方法,这法子肯定有不足之处啦,至于哪里不足?如图:


3.比赛中几种报错类型
①答案错(Wrong Answer,WA)

②输出格式错(Presentation Error,PE)

③超时(Time Limit Exceeded,TLE)

④运行错(Runtime Error,RE)

ps:①在运行时,除了程序自身异常退出(例如,除零,栈溢出,非法访问内存,断言为假,main函数返回非零值)外,还可能是因为超过了评测系统的资源约束(如内存限制,最大输出限制)而被强制中止。有些评测系统会把这些情况与一般的运行错误区别开,但在多数情况下会统一归为“运行错”中。

②超时也不一定是代码“效率低下”,也可能是规定从文件读入数据,但是你的程序却在等待键盘输入、特殊数据使程序进入死循环、程序实际上已经崩溃却没有异常退出

4.在线评测系统(Online Judge,OJ):例如,西班牙Valladolid大学的UVaOJ,浙江大学的ZOJ,北京大学的POJ,电子科技大学的HDOJ,俄罗斯的SGU、Timus,波兰的SPOJ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值