出题规范问卷调查

本问卷收集了部分会影响选手做题体验行为,希望和广大选手一起制订一份出题规范。
每个条例分为以下四个严肃等级
强制遵守(必须遵守,否则不允许题目用于公开比赛)
严格遵守(不得已出题人的习惯或者喜好为理由违反,除非与题目解题方式等产生较大影响时可以稍微违反)
建议遵守(在出题人的习惯范围内可以不遵守,但仍建议遵守)
无需遵守(仅作为提醒,无需出题人执行,这部分条例为某些出题人的习惯或收集到来自选手认为影响做题体验的反馈)
*
您是否参与过算法题目的命题工作
最少选择1项】
我没有参与过任何命题工作
参与过本校的校赛、新生赛、集训队互测命题
参与过算法平台命题(如codeforces、牛客系列比赛)
参与过HDU、牛客多校命题
参与过正式公开的企业或其他组织举办的算法竞赛命题
参与过省赛/NOIP/OI省选命题
参与过xcpc区域赛/NOI命题
其他待补充条例,以及严肃等级(请先完成本问卷后再返回来填写补充内容)
*
1、禁止在没有严格证明,并且没有使用暴力程序验证在数据范围内成立的情况下使用数学结论。(经典数学结论/数学定理/公理不在此行列)
强制遵守
严格遵守
建议遵守
无需遵守
*
2、判断是否成立,输出yes,no的题目中不能要求选手输出Ye5,n0等。
强制遵守
严格遵守
建议遵守
无需遵守
*
3、对于逻辑上判断yes,no的题目,应使用spj忽略大小写。
强制遵守
严格遵守
建议遵守
无需遵守
*
4、严格使用testlib.h编写val,否则必须使用过其他方式验证数据合法(例如在std中使用assert),但不建议使用testlib以外的方式校验数据。见:https://oi-wiki.org/tools/testlib/
强制遵守
严格遵守
建议遵守
无需遵守
*
5、禁止测试数据对std友好,必须包含将std卡到最大复杂度的测试数据。例如:std在随机数据下存在某种特定剪枝可以立刻返回,用时100ms,而特定构造可以将其卡到800ms,且本题时限1s。对于这种情况必须保证其时限为2s以上
强制遵守
严格遵守
建议遵守
无需遵守
*
6、输入、输出描述应该仅包含输入输出格式,数据范围,禁止仅在此处填写解题的关键条件。(例如某题目在题目描述中仅描述某个无特殊限制的数组,而仅在输入描述中描述:“输入一个排列”,或者a是一个排列)。
强制遵守
严格遵守
建议遵守
无需遵守
*
7、输入输出描述必须包含变量、变量的数据范围、变量的输入输出格式,变量的含义,且使用LaTeX公式描述。
强制遵守
严格遵守
建议遵守
无需遵守
*
8、树上题目/图论题目,若题目未特殊声明,后台数据禁止完全随机,必须保证暴力算法和搜索不能通过(例如随机的树深度为log,暴力可以通过,最短路须有卡spfa的特殊构造等)。
强制遵守
严格遵守
建议遵守
无需遵守
*
9、如与解题的核心算法考点/题目难度无关,当出现多解时必须编写spj。(例如:以怕麻烦为理由要求选手输出最小/最大字典序的特解。但允许题目本身考察的内容就为最小/最大字典序,或最小/最大字典序为题目难度设计的一部分)
强制遵守
严格遵守
建议遵守
无需遵守
*
10、图论问题必须显式的说明是单向边还是双向边,在输入描述中必须指出测试数据中是否包含自环、重边等信息。
强制遵守
严格遵守
建议遵守
无需遵守
*
11、树上问题如果是有根树,必须显式的指出根节点或输入根节点,不能让选手通过输入的方式自己推导根节点。
强制遵守
严格遵守
建议遵守
无需遵守
*
12、除非任何有意义的样例都会暴露核心算法,否则禁止仅提供1组无意义的样例输入/输出。
强制遵守
严格遵守
建议遵守
无需遵守
*
13、在不暴露核心算法的前提下,博弈类题目需提供至少1组先手胜利,1组后手胜利的样例输入/输出。
强制遵守
严格遵守
建议遵守
无需遵守
*
14、在不暴露核心算法/坑点的前提下,对于输出格式中的任何分支都要满足,例如"无解输出-1,否则xxx",除非任何无解样例都会暴露核心算法/坑点,否则样例中必须包含无解。
强制遵守
严格遵守
建议遵守
无需遵守
*
15、禁止出现虚假数据范围,当无其他条件导致题目数据无法达到最大时,必须保证后台测试数据包含对于每个变量均达到最大值/最小值的数据。(例如不能出现某个题目,数据范围输入N=2^31-1个数字,但此题仅与N有关,解题实际上不需要关注后序输入)
强制遵守
严格遵守
建议遵守
无需遵守
*
16、禁止与题目完全无关的大段背景描述(超过300字)。
强制遵守
严格遵守
建议遵守
无需遵守
*
17、题目描述的信息密度不易过大,同一句话中禁止包括复数个的解题关键条件,例如不要出现“求s到t路径中最大的最小值”,应改写为 “定义s到t瓶颈值为路径中的最大值。求s到t的最小瓶颈值。”
强制遵守
严格遵守
建议遵守
无需遵守
*
18、数学概率、期望问题,在与解题和题目难度无关的情况下,一律使用模系实数。(面向语言初学者/小白认为模系实数与难度有关,应考虑使用浮点数)
强制遵守
严格遵守
建议遵守
无需遵守
*
19、输出为实数的题目应使用spj,并且保证分别使用long double和double的情况下,绝对和相对误差的最小值不超过0.5*EPS。
强制遵守
严格遵守
建议遵守
无需遵守
*
20、禁止以“某道题目是难题”为由,将时间空间卡的特别死,仅让使用c/c++的选手通过。
强制遵守
严格遵守
建议遵守
无需遵守
*
21、出题人应保证除c/c++以外,使用python或java语言中的一种可以通过题目。
强制遵守
严格遵守
建议遵守
无需遵守
*
22、禁止要求选手读取数据直到文件结尾EOF,应使用T表示测试用例的组数。
强制遵守
严格遵守
建议遵守
无需遵守
*
23、禁止限制选手是否输出行末空格,以及文件末的回车。必须保证无论选手是否输出行末空格,以及文件末的回车都能通过题目。
强制遵守
严格遵守
建议遵守
无需遵守
*
24、字符画题目禁止出现前导/后置空格,可采取以下两种方式:1、使用'.'字符代替空格2、要求选手在画布最外围添加'*'字符作为最外面的边框。
强制遵守
严格遵守
建议遵守
无需遵守
*
25、字符画题目禁止出现空格以外的空白字符。
强制遵守
严格遵守
建议遵守
无需遵守
*
26、若要求选手输入包含空白字符的字符串,必须在输入描述醒目位置提醒“输入一个包含空白字符的字符串”。
强制遵守
严格遵守
建议遵守
无需遵守
*
27、若要求选手输入字符串时包括空白字符整行读取,则必须给出该字符串的长度,例如:输入一个数字N表示字符串长度,接下来一行输入一个包含空白字符的字符串...。
强制遵守
严格遵守
建议遵守
无需遵守
*
28、c++ std禁止使用火车头(特指编译优化,见https://blog.csdn.net/weixin_54994444/article/details/130598587 不是很长的头定义的意思)。
强制遵守
严格遵守
建议遵守
无需遵守
*
29、c++ std禁止使用内联汇编/与平台相关的指令集优化。
强制遵守
严格遵守
建议遵守
无需遵守
*
30、c++ std禁止使用读入优化/非必要情况下的数组复用(cin关闭同步、getchar read不在此列)。
强制遵守
严格遵守
建议遵守
无需遵守
*
31、std标准程序使用的时间/空间限制,慎重超过时间/空间限制的50%,严禁超过80%。
强制遵守
严格遵守
建议遵守
无需遵守
*
32、对于区分easy,hard version的题目,应在醒目位置(一般是题目开头位置)注明与另一个版本的差异。
强制遵守
严格遵守
建议遵守
无需遵守
*
33、题目中禁止不加千分符或者科学计数法的情况下出现重复数位较多的数字,且该数字有明显误导性,例如100000007,应改为10^8+7或者100'000'007。
强制遵守
严格遵守
建议遵守
无需遵守
*
34、题目中空间限制不得低于64MB,否则会导致java等语言无法通过。
强制遵守
严格遵守
建议遵守
无需遵守
*
35、计算几何题目中,构造任何边界数据都要求至少大于10倍EPS以上,例如禁止出现构造a,b,c三点近似共线,且斜率|k(a,b)-k(b,c)|<10*EPS的情况。
强制遵守
严格遵守
建议遵守
无需遵守
*
36、如与题目解题方式/题目难度无关,计算几何题目中输入点时,使用整点而非浮点数。
强制遵守
严格遵守
建议遵守
无需遵守
*
37、 如果输入变量的个数多余5*10^5,则必须在题目描述醒目位置提醒其数据范围,建议选手使用过快速的输入方式。
强制遵守
严格遵守
建议遵守
无需遵守
*
38、禁止在题目中有明显的语言倾向,若仅描述某种算法的实现,禁止出现特定语言实现的代码,应使用伪代码代替。
强制遵守
严格遵守
建议遵守
无需遵守
*
39、输入的变量数目禁止达到1e7及以上,当出现这种情况时,通过在题目中给出(随机)数据生成器的伪代码,或混合输入方式,例如输入1e5个变量,后序使用题目中提供生成器的方式。
强制遵守
严格遵守
建议遵守
无需遵守
*
40、输出的变量数目禁止达到1e7及以上,当出现这种情况时,要求输出异或和、或者求和取余的方式。
强制遵守
严格遵守
建议遵守
无需遵守
*
41、整形变量的范围超过long long 范围时,必须在输入描述的醒目位置提醒。
强制遵守
严格遵守
建议遵守
无需遵守
*
42、强制在线题目必须在样例解释/备注中添加加密前的数据。
强制遵守
严格遵守
建议遵守
无需遵守
*
43、要求输出n个答案的异或和时,必须在样例解释中提供部分有意义的信息,例如$ans1=1,ans_2=2,ans_3...ans_n=0$,输出3。
强制遵守
严格遵守
建议遵守
无需遵守
*
44、禁止在题目中要求选手使用std::random等库函数代替输入。
强制遵守
严格遵守
建议遵守
无需遵守
*
45、要求选手输出取模/取余的答案时,若原本的答案存在负数,则慎重考虑使用“取模”还是“取余”。必须给出原本答案是负数的例子或在题目描述中进行强调。
强制遵守
严格遵守
建议遵守
无需遵守
*
46、禁止对除数为负数的变量使用“取模”的概念,例如“模-5”。
强制遵守
严格遵守
建议遵守
无需遵守
*
47、NP问题带有剪枝的std,必须证明至少一个上界(无需保证上确界)满足最大范围数据的复杂度需求。
强制遵守
严格遵守
建议遵守
无需遵守
*
48、题目输入/输出中只能包含ASCII字符,禁止出现中文和unicode字符
强制遵守
严格遵守
建议遵守
无需遵守
*
49、在题目中提供数据生成器、强制在线的加解密算法必须真实有效,不得有误导或者任何欺骗行为(例如谋道题目在描述中要求选手强制在线,但强制在线的加密算法存在漏洞可以绕过改为离线算法,某道题目称自己提供随机数生成器,但该生成器存在数据分布不均的特性或者存在循环节,且std使用了该特性)。
强制遵守
严格遵守
建议遵守
无需遵守
*
50、当题目需要输入字符串时,必须在输入描述中显式的指明字符串的字符集。
强制遵守
严格遵守
建议遵守
无需遵守
*
51、当题目描述中涉及到“集合”的概念时,需注意是否为“可重集”。当涉及到“子集”概念时,需注意是否为“真子集”,且是否包含“空集”。需在题目描述中显式给出,或不在题目描述中说明,但有样例支持且在样例解释中给出。
强制遵守
严格遵守
建议遵守
无需遵守
*
52、当题目涉及到子串/子区间/子序列/前缀/后缀等概念时,必须显式的注明①是否包含自身;②是否可以为空,或在样例中有所体现。
强制遵守
严格遵守
建议遵守
无需遵守
*
53、当涉及到有多少种不同的XX满足条件的描述时,需对“不同”做相应的解释。若题目首先需要选手进行某些“操作”,再求不同的“值”时,使用“本质不同”强调其值上的差别而非操作上的差异。例如:求本质不同的子序列/子串个数。
强制遵守
严格遵守
建议遵守
无需遵守
*
54、中文描述的题目中,使用“连续子区间/子段”代替“连续子序列”。
强制遵守
严格遵守
建议遵守
无需遵守
问卷星提供技术支持
举报