在OI中,题目有三类:
- 传统题
- 交互题
- 提交答案题
今天来了解一下第三类
概述
传统题:给你一个题面,你需要交一个程序,评测姬会用你的程序运行你看不到的一些测试点,用输出和正确答案比较
提交答案题:给你一个题面,把一堆输入也给你发下来,你通过各种玄学把输出算出来,再把输出交上去。
一般还会发一个checker来帮助你测试分数
有时还会把题目原来的游戏发下来供你颓废理解题意
为什么有这种题
我们可以猜想一下:
- 评测姬可能一时半会儿跑不出来
- 可能一个程序解决不了
- 可能要让你知道输入你才做得出来
特点
俗话说的好,常规题付出精力和分数的关系:
(网配,侵删,后同)
(忽略负数)
提交答案:
也就是说,如果你要得满分,不知道要到猴年马月去了。
所以提交答案一般是防AK的。
做法
人类智慧
俗称手玩,即手算,不解释。
优点:
- 可以准确地得到一个解
2.不用coding,节约时间3.好玩
缺点:
1.大数据真没办法
2.可能得不到最优解
3.耗脑细胞
4.不稳定(雾)
建议在小数据使用(一般前几个)
暴力大法吼啊
直接上搜索
优点:
1.不用你干什么,让它自己跑,你可以想其他题/优化
2.准确性高,一般可以处理掉相当一部分点
缺点:
1.对于部分特(du)殊(liu)的数据点可能要跑很久(也许5个小时都跑不出来)
2.有时不好实现
为了检验你是不是写挂了,建议在暴力时得到一个解就立即输出,而不要等到搜索完。如果跑了5~10分钟还没有找到解的样子,结束继续跑下一个。
特殊点
把数据打开,也许会有惊人的发现。
优点:
你能想到的所有优点。
缺点:
你能想到的所有缺点(大雾)
瞎**乱搞
一般有:不顾一切地剪枝,莫名其妙地贪心
也就是说,如果你有一个类似的做法,但是你证不出来并怀疑是错的(一般都是错的),甚至你把自己hack了,但出错几率较小
优点:
1.速度快
2.比暴力好写
缺点:
1.不能保证得到最优解
2.风险大
建议在合法但不最优的解有分的题目中使用,并只给暴力没跑出来的算
魔改checker
一般checker是只给exe。如果给的是源码,并且你要实现的程序和checker有共同的功能,那你就中奖了。
优点:
1.妈妈再也不用担心暴力写错了
2.实现难度大大降低
缺点:
1.你需要时间去读懂checker
2.你还需要时间去熟悉checker的码风
还有,开始时跑一遍checker,说不定有惊喜。
最后就是把文件记得备份,以免丢失。