转载自:https://www.cnblogs.com/muzu/p/7616746.html

codeforces的正确打开方式

1.背景

可能很多人都久闻codeforces网站的大名,却苦于各种各样的区域性问题或玄学问题,没能真正地体验到cf所带来的极致魅力
而网络上关于这方面的博文太少了(至少我没找到过),于是就写了这样的一篇博文

2.关于codeforces

Codeforces
简称: cf(所以谈论cf的时候经常被误会成TX的那款游戏).
网址: codeforces.com
  这是一个俄国的算法竞赛网站,由来自萨拉托夫州立大学、由Mike Mirzayanov领导的一个团队创立和维护,是一个举办比赛、做题和交流的平台.举办比赛和做题就不说了,“交流”指的是自带blog功能,可以求助/发布题解之类.官方语言是俄语和英语,因此可能有些偏僻的题目的题解是用俄语写的,别慌,扔给Google Translate翻成英文,可读性还是很不错的.至于英语,cf上Russian English确实有,但并不严重,题目里偶尔会出现很奇怪的表达方式或者不常用的词汇,这时候就借助样例吧,找个人问问也是可以的.cf最大的特点是比赛,所以接下来主要的篇幅用于介绍cf传统比赛的规则.


3.关于比赛

在cf,所有的用户根据在以往比赛中的表现被赋予一个Rating并冠以不同的头衔,名字也会以不同的颜色显示。

比如Expert是蓝色,Master是黄色,因此我们通常以颜色代指头衔.选手们按Rating以1700为界划分为Div.1和Div.2两类,相应地,cf上的比赛也会指明是Div.1还是Div.2,抑或同时进行.Div.1的比赛较难;如果同时进行,Div.1的ABC三题会和Div.2的CDE三题相同.每次比赛结束后Rating都会依据此前各个选手的Rating和公式重新计算.对于没有参加过比赛的新用户,在比赛后重新计算Rating的时候,他此前的Rating会被视为1500.

  在比赛中,选手有2个小时的时间去解决5道题,而解决某题得到的分数由该题当前的分数减去(不成功的提交次数)*50,这里,某道题的分数是由比赛开始时的分数随时间线性减少得到的.同时,这里的“解决某道题”是指Pretest Passed,即,通过了一次仅含部分测试点的测评,而最终决定是否得到这道题的分数,要看比赛结束后的统一测评(System Test),如果在这时没有通过,就称FST(Failed System Test).在比赛中的提交可以看到在哪个测试点出了什么问题(例如,仅一行WA on pretest 3).

  同一个Div的选手将被划分到若干个Room里,每个Room大概30位选手;当某道题Pretest Passed之后,可以选择锁定(Lock)该题代码,之后就可以查看同一个Room内其他选手该题的代码(当然了,这也是已经通过pretest的),并试图找出其中的漏洞,自己出一个数据(可以手打,也可以提交数据生成器)让这个代码不能通过,这就是Hack,有时也称Challenge.一次成功的Hack可以得到100分,而如果没有成功,将会被扣50分,分别被称为(un)successful hacking attempt.

  在比赛中,选手可以看到实时的排名(Standing),也可以选择只看加了好友的选手的排名.此外,还可以看到某题有多少人通过的信息,这在某些情况下很有用.


4.关于PROBLEMSET

cf题库的所有题目都是在该平台上举办过的比赛的赛题,尽管WJMZBMR曾经表示由于出题人很杂cf的题目质量参差不齐,但我个人认为还是够可以的,两个小时五道题也确实很能让人得到锻炼.和Spoj形成鲜明对比的,cf的机子效率很不错,所以很容易培养出STL依赖症等等不良代码习惯,应当引起足够的注意.

  在cf上做题的过程当中如果遇到困难,首先可以看数据.数据从某种程度上来说是公开的,在提交记录页面可以看到所有你的程序运行过的数据,但是太大的数据也只会显示前几行,因此也不算完全公开.cf的测试数据笔数通常会让习惯了10个点的人大吃一惊,一道题动辄几十个测试点,甚至有的有200多笔.通常来说,前面大概5组是比赛时的Pretest,一般会尽可能的涵盖各种情况,也有放个大数据卡TLE的;其后的数据规模递增,但是最后几组又不见得是极限数据——这是比赛时Hack的成果.Hack成功的数据会被追加到该题的测试数据当中.

  如果数据不能解决问题,可以试图去找题解.题目页面的右下角会标出它所属的比赛的相关文档,通常会有Announcement(赛前和赛中的公告,其中赛中的公告通常是明确题意之类),有些则会有Tutorial,这就是题解,顺带一提cf上另外一个表示题解的词是Editorial.一次比赛的题解可能不是官方的,也可能不包含该次比赛全部的题目的,也有可能是用俄语写的(前面提到过了,翻译成英语就好),也有可能有好几篇(这会以Tutorial #1,#2的形式标识).

  近期的比赛多半都有官方题解,以前的就不好说了.这时候需要借助另外一个神器:神犇们的代码.cf上普通题库的所有的代码都是公开的,并且支持按照提交先后(Judging Time),运行时间(Execution Time)和代码长度(Solution Size)进行排序.不仅仅是帮助做题,这个功能对于了解一道题的各种做法也是有好处的.


5.其它的一些操作

1.关于Rating的计算 :

这是一种类似Elo Rating的系统,可以在cf的FAQ或Wiki百科找到更详细的信息.  

2.关于Contribution :

在用户信息页面会见到这个东西,它用来衡量一个用户对cf的贡献程度.这个数值取决于该用户所写的blog和他对其他的blog所作出的评论的“反响”.每个blog的下方和评论的旁边都会有一个往上和往下的箭头以及一个数字,表示你可以对他进行好或者不好的评价,而数字则显示当前已有的评价,而这就是前面说到的“反响”.点击了往下的箭头会让这个数值-1,点击了往上的箭头则会+1或+2,这里+2的条件是你本身的contribution不低于+25.如果你打算做评论,请谨慎,因为在贴吧里很正常的回复可能会被认为“没意义”或者别的原因而反响很差(比如在比赛预告帖回复Good luck everyone之类的可以被-12),随而contribution也会很难看.由于这样的原因,你可以选择完全可以无视这个数值.  3.关于GYM : 在gym里举办的比赛基本上是ACM/ICPC规则的,可以单干,也可以组队(人数似乎没有限制).gym的题目并不会在Problemset里显示,提交之后也不能看到数据(和常规比赛时一样,仅能看到一行TLE on test 137之类),不过在名字变红[即(International) Grandmaster]之后选上Coach mode就可以看到数据.gym里别人的代码的公开性也服从前述规则.

4.关于Virtual Participant :

有时我们会在某条提交记录的ID右上方看到一个小小的#号或者显示一个时间,鼠标移上去会出现Virtual Participant的字样.正如其字面意思,这意味着这个用户正在“虚拟”参加一场比赛.如果你虚拟地参加一场比赛,系统会在接下来的2小时内(如果gym的话另当别论)为你完全地模拟当时的情境供你练习——包括Standing等等.  

5.关于奇葩的测评结果 :

这包括Compilation failed,Denial of Judgement和Judgement Failed.在你确认你的程序没什么重大问题之后,基本可以认定这不是你的问题而是系统出了点差错.Judgement Failed通常会呈现爆发的样子,一段时间内几页都是,当这种情况结束的时候就正常了;而Denial of Judgement仅会在某段时间内在特定的题目发生,原因可能是数据损坏之类的,可能要等上个一两天才能得到解决(也有可能在问题解决后被自动重新测评);Compilation failed我还没有见过...字面意思是编译器不干活?


6.关于注册:

点击页面右上方的Register,

由上到下分别为用户名,邮箱,密码,和确定密码(这些没什么好说的吧)

注:qq邮箱是可以用的 废话!

点击Register按钮后它会把验证网站发到你的邮箱

验证完后你就可以愉快玩耍了吗?

不,你还需要等等!

当登临了账号时,某些小盆友可能会遇到这种情况:

什么!!!它居然认为用户是机器人,而且验证码呢???

别急,这就是上文提到的区域性问题,这时候就需要科学上网来帮助你了

1.科学上网的钥匙

蓝灯是一款优秀的科学上网软件(速度还是挺快的QAQ),对付cf是完全足够的

进入蓝灯的官网:https://getlantern.org/en_US/

进不去?貌似连蓝灯都需要FQQAQ ,不用怕,还有小路

链接:http://pan.baidu.com/s/1miQh0dM  密码: 3npd

点击下载,打开软件之后就可以看到验证码了(要加载3秒钟左右)

以该图为例,依次输入PAWLINGBRASIL后,点击Submit,就可以愉快玩耍了!

codeforces的正确打开方式相关推荐

  1. opengl 贴图坐标控制_材质贴图正确打开方式

    哈喽,各位观众朋友们好鸭~欢迎来到讲道理画图的地方,我是黄玮宁. 最近呀经常有小伙伴来问我那些不同通道的材质贴图该怎么用,而且频率不是一般的高,所以我觉得有必要来说说这些通道贴图的用法了. 视频版(B ...

  2. Console控制台的正确打开方式

    Console控制台的正确打开方式 console对象提供了访问浏览器调试模式的信息到控制台 -- Console对象|-- assert() 如果第一个参数断言为false,则在控制台输出错误信息| ...

  3. 任务队列和异步接口的正确打开方式(.NET Core版本)

    layout: post title: 任务队列和异步接口的正确打开方式(.NET Core版本) category: dotnet core date: 2019-01-12 tags: dotne ...

  4. log python_基于Python log 的正确打开方式

    保存代码到文件:logger.py import os import logbook from logbook.more import ColorizedStderrHandler import sm ...

  5. python四舍五入round_四舍五入就用round( )?Python四舍五入的正确打开方式!

    四舍五入就用round( )?Python四舍五入的正确打开方式! 2018-09-22 21:40 阅读数 4 <>round( )函数简介 菜鸟教程中介绍到,round() 函数作用就 ...

  6. 通过机器学习识别“迪士尼在逃公主”,程序员宠女的正确打开方式!

    到了庆祝的时候了!我们刚刚送走了圣诞老人.现在正等待新年的钟声敲响.所以我想到建立一个很酷的东西(至少我的七岁小公主会觉得)同时学一点机器学习.所以我们要做一个什么? 我借用的我女儿所有迪士尼公主人偶 ...

  7. pytorch单机多卡的正确打开方式 以及可能会遇到的问题和相应的解决方法

    pytorch 单机多卡的正确打开方式 pytorch 使用单机多卡,大体上有两种方式 简单方便的 torch.nn.DataParallel(很 low,但是真的很简单很友好) 使用 torch.d ...

  8. [分布式训练] 单机多卡的正确打开方式:Horovod

    [分布式训练] 单机多卡的正确打开方式:Horovod 转自:https://fyubang.com/2019/07/26/distributed-training4/ 讲完了单机多卡的分布式训练的理 ...

  9. [分布式训练] 单机多卡的正确打开方式:PyTorch

    [分布式训练] 单机多卡的正确打开方式:PyTorch 转自:https://fyubang.com/2019/07/23/distributed-training3/ PyTorch的数据并行相对于 ...

最新文章

  1. 51单片机怎么编程,有什么好的课程?
  2. 杭电OJ-1062_Text Reverse
  3. Javafx的WebEngine的url加载不输出结果坑,gc回收了局部变量
  4. AUTOSAR从入门到精通100讲(二十二)-手把手教你写Demo系列之车道线检测
  5. CAN笔记(11) 位时序
  6. 云计算机工作组,边缘云场景、需求与组网架构
  7. cordova android ios
  8. 金蝶K3系统BOM批量导入操作指南
  9. 使用 selenium 下载小视频
  10. 【avx2】VitrualBox 安装centos7 支持avx2
  11. 大疆无人机飞控系统的原理、组成及各传感器的作用
  12. 时装连连看,基于MindSpore实现FashionMNIST图像分类
  13. 华为FusionCompute之计算虚拟化
  14. XMPP协议的工作原理
  15. 领导喜欢员工的15种素质
  16. PCIe学习笔记之pcie结构和配置空间
  17. Ubuntu下面steam的安装
  18. php理论掌握太少,科学网—我为什么反对让学生过早地选课和选考 - 冯大诚的博文...
  19. 360兼容性问题:教资报名请使用搜狗浏览器(兼容模式)、360浏览器(兼容模式)、QQ浏览器(内核模式请选择:总是使用IE内核)、IE系列浏览器。
  20. 深入浅出matplotlib(49):Pyplot使用指南的笔记

热门文章

  1. CAD:旋转视图的方法(利用UCS和PLAN命令旋转视图)
  2. lede旁路由作用,【旁路由】LEDE/OpenWrt作为旁路由辅助网关(目前最优解)OpenWrt网关旁路由设置...
  3. OBS显示器捕获黑屏问题
  4. 【网络安全】使用goole让burpsuit跑字典
  5. android代码实现截屏,android实现截屏功能代码
  6. python面对对面编程对三国演义,水浒传,红楼梦人物关系与出场频率进行文本分析,数据可视化
  7. Python中的open函数及mode参数
  8. 用python画花瓣-怎么用python画花朵
  9. redis设置后台启动,关闭后台redis
  10. [历年IT笔试题]2014阿里巴巴9月14北京校园招聘笔试及参考答案