【山东OI选手福利!!!】汇编在Cena中的使用

原创 2016年04月07日 18:50:21

免责声明:这篇文章只是拿来娱乐大众的.首先博主不保证在比赛中使用汇编一定可行,因为测试环境与正式的比赛环境仍存在差异.其次,根据现行NOI系列比赛规定,使用汇编属于作弊行为.请保证您是阅读完上面两句话后才开始看这篇文章,如造成任何后果,由读者自行承担责任.

山东的选手们都知道,SDOI一直是WinXP+Cena的评测环境
这导致了一下一些问题:
1.Cena的编译器古老,时常出现奇怪的CE
2.WinXP系统栈奇小无比,无法承受一些如链剖DFS序,Tarjan之类的题目
3.Cene对动态内存十分的不资瓷,大量使用指针+动态内存的形式可能会导致TLE和各种崩溃.

真正困扰绝大部分选手的是2.想一想链剖时候还需要写手工栈就觉得恶心无比.

虽然今年我们通知了出题人,让他建议山东省组织单位在评测时加入开栈命令,但是仅仅是建议而已,并且没有得到任何回复.

前两天,Claris老司机告诉我,CCF其实并没有完全禁止汇编语言在比赛中的应用.
关于这个问题的实例可以看我的学长zky在去年CTSC考场上的测试:
闷声作大死系列
也就是说,在中国的各种OI比赛中,其实内嵌汇编是可以偷偷使用的!

那么问题就来了,汇编开栈这个命令是不是可以在SDOI中使用呢?

由于我校的机房电脑都是WinXP,我们也太弱不会用Lemon只会用Cena,所以可以很方便的做一个小测试来检测这个Trick.

我写了一个dfs一条长10^6的链的代码,并去掉了我的Cena里除了-o以外的所有编译指令(这样就是全真模拟SDOI真正的评测环境).
这里写图片描述
然后写了一份如下的代码(其中使用了汇编来开栈):
这里写图片描述

下面我们进行测试.
首先我将汇编的三行语句注释掉了.
这里写图片描述
本地执行当然会直接RE掉.
这里写图片描述
放到Cena上评测亦然.
这里写图片描述

去掉注释:
这里写图片描述

这里写图片描述

扔进Cena评测:
这里写图片描述

仍然可以AC!
事实证明:Cena!完!全!没!有!办!法!检!测!内!嵌!汇!编!,内嵌汇编是可以在SDOI使用的!!!
也就是说,只要背过了那三行开栈命令,并在每道需要开栈的题目的主函数开头加上这三行语句,山东选手就不需要再费力去写手工栈了!

这必定是山东选手的福音!未来的山东选手再也不需要写手工栈了!

我在省选前一天突然发现这个问题,赶紧补了一份博客出来通知大家来造福群众,不要问我是谁,我的名字叫雷锋.

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CreationAugust/article/details/51088371

OI选手之路的开始------第一次初赛前后

OI之路,漫长而枯燥 但我却感兴趣,都说我不同于常人,也许......就因为这个(我是个弱智吧,都说傻子也会快乐)        今天是2017年10月27日,离初赛已经过了大半个月了,(...
  • qq_37654726
  • qq_37654726
  • 2017-10-27 18:00:59
  • 118

OI省选知识

经验
  • hbhcy98
  • hbhcy98
  • 2015-10-19 20:27:23
  • 810

再见oi——一名蒟蒻的退役录

对于一名CQBZ的辣鸡选手而言,退役是必然的… 然而真正面对退役的时候,心里面还是有那么一点点失落。 当晚接到某损友的短信:说好的金牌呢?顿时心中无数只草泥马在欢腾…我连前100都没戏,您来问吾金...
  • cqbztsy
  • cqbztsy
  • 2016-07-29 20:54:32
  • 1170

Lemon Judge OI评测机 | 资源及使用教程 | 比Cena更稳定的评测机 | 已完结

Project Lemon - 一款由国内大神Jia Zhipeng开发维护的开源OI评测机 - 兼容性比Cena更好,更快,更稳定...
  • OoLuoChenoO
  • OoLuoChenoO
  • 2017-07-21 17:34:51
  • 5266

Lemon;柠檬;OI自助评测工具;比cena好用;bug少

  • 2015年10月20日 11:28
  • 4.64MB
  • 下载

在Mac下使用Lemon

Lemon是jzp神犇写的一款跨平台的评测软件……Lemon对Linux和Windows提供了原生支持,但由于是用Qt写的,而Qt各种跨平台,所以就尝试移植到了Mac下…… 方法十分简单,而且不需要...
  • huzecong
  • huzecong
  • 2013-07-23 15:47:50
  • 3427

SDOI省选总结

二轮终于跪了,虽然已经隔了很久,总结一直拖着没写。 不过没有关系!确实是自己水平不太够。 挂的原因: ①细节挂掉了,没有考虑清楚。%(10^9+7)的时候,如果用int的话,一定要+一次%一次,+一次...
  • TA201314
  • TA201314
  • 2015-05-22 20:40:35
  • 638

C语言指针初探(第一篇博文庆祝一下我的OI生涯)

众所周知,电脑内存中的字节编号即为地址(Adress)或指针(Pointer)。 对于32位环境,程序能够使用的内存为4GB,最小地址为0,最大地址为0*FFFFFFFF。 下面的代码演示了如合输...
  • CHS_97
  • CHS_97
  • 2017-04-17 22:30:17
  • 248

OI竞赛中手工栈的书写

引言在某些算法中,尤其是树、图、数据结构相关的算法,会牵扯到大量的递归。在绝大部分的OI竞赛中(NOIP、NOI等),递归所占用的栈空间限制为内存限制,换句话说,就是一般只要你不MLE就不会爆栈。 ...
  • Clove_unique
  • Clove_unique
  • 2017-03-10 15:03:16
  • 1242

落尘无语,忆高中三年 之 信息学奥赛

落尘无语,忆高中三年 之 信息学奥赛    只有高中2年级时去参加过一次信息学奥赛。是本校首次参加信息学的奥赛。当时我们的计算机老师A叫住我,问我是否有心情参加。我得知是本校的首次出征,当然答应欣然前...
  • ShellEx
  • ShellEx
  • 2006-08-20 17:31:00
  • 3090
收藏助手
不良信息举报
您举报文章:【山东OI选手福利!!!】汇编在Cena中的使用
举报原因:
原因补充:

(最多只允许输入30个字)