2017CCSP总结——失败(铜)
这次比赛,算是铩羽而归。尽管是第一次出去打比赛,在经验方面略显不足,但是,归根到底,我这次比赛打的很失败。包括我们学校去的,打的也不好,可以说是全体翻车。真的很对不起带我们去的老师。>_<
经过这次比赛,我发现了自己有如下不足:
1、算法方面:实力不行,将现实问题转化成算法模型的能力还不够。第三题,如果有人提示我一下这是拓扑排序,那我无论如何也会把那100分拿到手呀。然而,事实就是,没有提示,自己没有往那个方向去想。总之,一来,刷题量不够,导致遇到一些本应该是板子的题目,却需要去“想尽各种办法”。二来,不够灵活,只懂得套用死板子,不会转化。找不到问题的突破口。第三点,思维不够严谨,最后暴力得到的15分,是在晚上8点多了才拿到手的。其实这份拿15分的代码吃午饭前就写好了,之前交上去总是WA,想不明白为什么,直到晚上8点多了,给一个关键的地方的if加了个条件,交上去就15分了。这个问题不是这一次,很多次我写代码都是这样,总在ACM代码规范和工程代码规范之间纠结,或者是经常写一些自认为十分简洁天衣无缝实则漏洞百出的代码。这是之前学Java(EE)留下的部分后遗症,要彻底痊愈,需要大量题目的洗礼。
2、心态方面:非常不稳定,相当急躁。比赛时,被第一题水题的坐标坑了几发后,心就开始浮躁起来了,直到比赛结束。题目看不仔细,一不仔细就代码漏洞多,本来是简单的题目就写的越来越复杂。这个问题相当严重,一定要好好思考,尽早改正。后来和其他人讨论第二题的时候,我给它找了好多个题目中明确说明了不会出现的样例,中间结果为负数、超int范围等。其实,我如果仔细看清楚了题目,这些问题我在写代码的时候就压根不会去考虑了。这归根结底就是心浮气躁,静不下心看题导致的。另外,因为急躁,导致思考问题不灵活,一根筋。
3、策略方面:任然是一根筋。思维总限制在算法第二题(模拟)要得满分,第三题至少60分。然而,题型以及题目难度是因人而异的,没有哪次比赛会保证哪道题一定简单,哪道题一定难。在得分策略上,总和最大才是王道。并不一定要死抠哪题得多少分。记住,最终排名是相对的,不是绝对的。
4、对于后面的系统题,确实挺出乎我的意料的。本以为就像给的样题那样,内存足够,纯空间换时间就行。然而,真的地题目是,要在这两者之间折中。因此要做个伪虚拟内存。用磁盘扩容。这点确实挺大开我眼界的。从没这么玩过。
5、失误:第四题的二进制文件,他的内容整个比赛过程中我都一直是这么想的:
0b010101010101 0b01010100110
所以,一直都没把数据读进来>__<。而且,对于两个endian输入文件,我一直以为一个是大数据样例,一个小数据样例。然后,它实际上为了让不同语言写起来方面用的。而这个二进制文件,它是以真正的二进制存储,我们无法用文本表达出来,因此用记事本也无法直接打开,而不是这种用文本表达出来的二进制文件。这种其实是文本文件,按字符存储的。
而读取的话,C/C++应该用rb模式读取进来,四个字节组成一个int。Java同样是按字节读取进来。InputStream的read()方法。
第五题,应该以动态分配数组的方式使用内存,而不是一开始就开一个很大的数组。但是,不明白为什么,一开始分配不下,动态分配就能分配下了?没道理呀。
第二题,模拟,用Java写的,只考虑没有lambda的情况,测了很多样例都没错,但是提交上去前三个都一直错,不懂为什么。现在似乎明白一些了。输入的格式不是很标准,导致按"空格+"split字符串出现问题,这不是第一次了。下不为例。在格式不确定的模拟题中,千万不要按“空格+”去split字符串。非常容易出问题。还是老老实实地扫描字符串吧。
-----------------------------------------------------------------未完待续-------------------------------------------------------------------
接下来就是吐槽和抱怨的话了。虽说抱怨是最无能的表现,确实是这样。但是,既然都过去了,吐槽抱怨一下,至少自己感觉要舒服一些。
先说评测系统。知道有OJ这东西以来用的最差的一个。502、503什么的就不说了,也理解,毕竟并发量达到三四百,学校排名也三位数字了,服务器差点,宽带小些,反应慢一点很正常(为什么要加粗字体,因为才三四百的并发量就卡成这样了,还让学生做系统优化题,先把自己的系统优化好了再说吧)。
1、提交个代码,还要随机,不能直接复制代码,没有粘贴区域textarea,只能从文件系统选择文件,不重复刷新选择十几下,代码交不上去。这系统,做的实在是太差了。
2、提交的Java代码不能预览,只有C/C++可以,是Java没C/C++“高级”还是Java没C/C++代码短还是系统开发者说“臣妾做不到啊”,真的是,选择了文件就只显示第一行,后面全部用"……"代替,估计这几个省略号也是静态文本吧。
3、Eclipse写好Java代码后,要先把代码文件复制到另外一个地方,用编辑器代码,把package删掉(这无口厚非)。坑爹的是,主类还必须是非public的。每次提交都要这么弄一下,非常麻烦。
4、Code blocks软件,不知道是extends了去年的日常卡崩类还是implements了一settings就卡崩的接口,什么都不能设置,非常不好用。版本也低,都快2018年了,还是13.02版本的。
然后就是饮食,不能说难吃,但是实在是不习惯。什么东西都做成甜的,受不了。比赛那一天中午和晚上两顿饭都吃得很不满意。
然后就是环境,机房环境,闷热,难受,写题静不下心。宿舍环境,学校提供了一床铺好的裸垫被和一床市场上质量最差的草席子以及一床棉被和一个枕头。福州27度的气温,盖被却非常厚,晚上睡着实在是,热。枕头高低不平,比不睡枕头还难受。席子前面说过了,市场上最差的那种草席,裸睡是不行的,太刺人,睡着全身痒。只能穿白天的衣服睡,难受。寝室设计非常不合理。宿舍和阳台之间一扇玻璃门,晚上路上路灯的强光射进来,完全睡不着。开了玻璃门,到阳台上,就完全接触空气了,晚上只要一开那门(去卫生间什么的),蚊子就大批量地进来,27号那天晚上,被咬醒了四五次。环境实在太差了。难怪整体翻车。
还有就是当地商人的素质和服务态度,实在是不怎么滴,感觉顾客去买他们的东西是应该的一样,爱理不理的,态度很不好。事实证明确实如此:一个城市的发展和当地居民的素质以及服务态度有很大的关系。这也就是为什么福州沿海却发展还没长沙好的原因之一。
郑重声明:以上仅代表个人观点和看法。与任何组织和单位无关。
2017CCSP总结——失败(铜)的更多相关文章
- ACM失败之路
校赛打完,已过四月,该是准备背起行囊,踏上考研之路了,自然,得先阔别一下ACM了,想起这几年ACM路,感慨颇多,不得不一诉心肠,与大家分享一下我的ACM历程,如果有人能从此文获取一些益处,那我就很欣慰 ...
- 2019ccpc哈尔滨打铜记
小学生日记: 2019.10.13,哈尔滨,打了个铜 开头 先说结论,这次失败,我的锅70%,sdl的锅5%,ykh25% Day0 周五, 我们队出现了奇怪的厄运上身 首先是我中途在飞机上数据线突然 ...
- 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法
如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...
- Jenkins的一个bug-同时build一个项目两次导致失败
我们有一个job A, A只是配置了一些参数,它会去触发模板job B. 我一开始点击构建A, 马上发现参数配置不对,于是撤消了构建,但是我没有发现B已经被触发,我重新配置参数,然后再次构建A,这个时 ...
- HTML5 摇一摇加强版之一次失败的探索
最近在看设备传感器的API,当然也少不了研究一下让微信称神的“摇一摇”了.关于“摇一摇”的实现,网上很多资料所以不详细说了,但总是有布局.效果不全等各种问题,所以作为一名资深copypaster,代码 ...
- Fedora 21 安装 Nvidia 驱动以及失败后的补救方法
在 Linux 桌面系统下玩了这么久,大部分时间都是使用 Ubuntu,偶尔使用一下 Fedora.我的电脑中安装有多个 Linux 发行版,见这里<在同一个硬盘上安装多个Linux发行版及Fe ...
- 如何修复VUM在客户端启用之后报数据库连接失败的问题
在上一篇随笔中介绍了关于重新注册VMware Update Manager(VUM)至vCenter Server中的方法,最近有朋友反应,原本切换过去好好的更新服务为什么某次使用一下就不灵了? 当时 ...
- 5.C#WinForm基础登陆失败三次退出系统
目标: 登陆界面,登陆错误三次退出程序.假设用户名密码是admin.888888,不区分大小写,(易错点:局部变量与类变量) 局部变量每次运行完毕变量的值都会被销毁,下次再运行,会重新初始化. ...
- Win10 连接L2TP VPN 失败解决方法
Win10 连接L2TP VPN 失败解决方法 iOS系统不知道在什么时候,已经不支持PPTP VPN.偶尔的机会刚好看到github上的一键式VPN服务器部署脚本setup-ipsec-vpn,就在 ...
随机推荐
- UVa 1636 决斗
https://vjudge.net/problem/UVA-1636 题意: 首先在手枪里随机装了一些子弹,然后抠了一枪,发现没有子弹.你希望下一枪也没有子弹,是应该直接再抠一枪还是随机转一下再抠. ...
- Python的hasattr() getattr() setattr() 函数使用方法详解--转载
hasattr(object, name)判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False.需要注意的是name要用括号括起来 1 ...
- 优化--前端(全占课,未完成作业:);CDN; Http/2的设置(未完成)
前端效能: 关键渲染路径:Google 文档 JavaScript 加载最佳化 让html和javascript同时渲染: 设置<script>的async或者defer属性(boolea ...
- 第108天:Ajax中XMLHttpRequest详解
在Ajax应用程序中,XmlHttpRequest对象负责将用户信息以异步通信地发送到服务器端,并接收服务器返回的响应信息和数据. XMLHttpRequest可以提供不重新加载页面的情况下更新网页, ...
- Aizu-2200-floyd+dp
Mr. Rito Post Office 你是一个为远程邮局邮局工作的程序员.你住的地区由几个岛屿组成.每个岛屿都有一个或多个港口城镇.除此之外,还有其他城镇和村庄.为了从一个岛到另一个岛,你必须使用 ...
- linux下informatica服务安装和配置
本文中将会用infa简称代替informatica 1.安装前准备 介质名称 版本信息 描述 Informatica Powercenter 9.5.1 for Linux 64 bit 必须 Jav ...
- svn版本管理与上线
1.1 SVN介绍 1.1.1 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个跨平台的开源的版本控制系统 ...
- hdu 6127 Hard challenge(极角/角度排序+枚举+结构体排序新写法)
Hard challenge Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others) ...
- Winform开发常用控件之DataGridView的简单数据绑定——代码绑定DataSet、DataTable、IList、SqlDataReader
前文介绍了Winform为DataGridView提供的数据自动绑定功能,下面介绍一下采用代码的数据绑定 1.用DataSet和DataTable为DataGridView提供数据源 先上代码 pri ...
- Swapping eth0 and eth1 on OK335xS board
/******************************************************************************* * Swapping eth0 and ...