浅谈OI中的提交答案
在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,说不定有惊喜。
最后就是把文件记得备份,以免丢失。
浅谈OI中的提交答案的更多相关文章
- [技术]浅谈OI中矩阵快速幂的用法
前言 矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中,矩阵的运算是数值分析领域的重要问题. 基本介绍 (该部分为入门向,非入门选手可以跳过) 由 m行n列元素排列成的矩形阵列.矩阵里的 ...
- 浅谈OI中的底层优化!
众所周知,OI中其实就是算法竞赛,所以时间复杂度非常重要,一个是否优秀的算法或许就决定了人生,而在大多数情况下,我们想出的算法或许并不那么尽如人意,所以这时候就需要一中神奇的的东西,就是底层优化: 其 ...
- 浅谈Java中的对象和引用
浅谈Java中的对象和对象引用 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起 ...
- 浅谈C中的malloc和free
转自http://bbs.bccn.net/thread-82212-1-1.html非常感谢作者 浅谈C中的malloc和free 在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的 ...
- 浅谈JS中的闭包
浅谈JS中的闭包 在介绍闭包之前,我先介绍点JS的基础知识,下面的基础知识会充分的帮助你理解闭包.那么接下来先看下变量的作用域. 变量的作用域 变量共有两种,一种为全局变量,一种为局部变量.那么全局变 ...
- 浅谈.net中数据库操作事务
.net中的事务 关键几点 概念:1:什么是事务 2:什么时候用事务 3:基本的语法 (1): 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit).事务通常 ...
- 浅谈HTTP中GET、POST用法以及它们的区别
浅谈HTTP中GET.POST用法以及它们的区别 HTTP定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符.我们可以这样认为: 一 ...
- 浅谈HTTP中GET和POST请求方式的区别
浅谈HTTP中GET和POST请求的区别 HTTP认知: HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议.HTTP的底层是TCP/IP.所以GET和POST的底层也是TCP/IP,也 ...
- 浅谈Java中的对象和对象引用
浅谈Java中的对象和对象引用 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起 ...
随机推荐
- 如何设计一个优雅健壮的Android WebView?(上)
转:如何设计一个优雅健壮的Android WebView?(上) 前言 Android应用层的开发有几大模块,其中WebView是最重要的模块之一.网上能够搜索到的WebView资料可谓寥寥,Gith ...
- 伪病毒 Rp_test
第一个写的对电脑有破坏性的程序= =,然后发现写system的copy的时候不会用字符串替代路径,然后就萎了= =,只能写一个没有自身复制的伪病毒了,坑到了好多同学的电脑,23333.... //By ...
- 海康解码器对接总结(java 版)
本文只是对接海康解码器的动态解码功能,即配置解码器大屏上指定的某个窗口去解某一路IP视频源. 1. 首先,定义所需的结构体与接口.海康SDK中包含的结构体与接口非常之多,在官方的例子中,实现了大部分的 ...
- git 配置多用户
.ssh 下的 config.txt 内容 # 配置github.com Host github.com HostName github.com IdentityFile ~/.ssh/id_rsa_ ...
- LCD实验学习笔记(九):UART
s3c2440包含三个通用异步收发器,可工作于中断模式或DMA模式.每个UART包含两个64字节的FIFOs用于接收和发送数据.可编程设置波特率.1或2个停止位,5/6/7/8个数据位和奇偶校验状态. ...
- 数字签名算法rsa
数字签名算法消息传递模型 由消息发送方构建密钥对,这里由甲方完成. 由消息发送方公布公钥至消息接收方,这里由甲方将公钥公布给乙方. 注意如加密算法区别,这里甲方使用私钥对数据签名,数据与签名形成一则消 ...
- linux安装lamp
github https://github.com/zblogcn/zblogphp Installation If your server system: CentOS yum -y install ...
- 任务调度框架kunka
kunka kunka是一个任务调度框架.用户只需要在Task接口中实现自己要执行的功能,并且选择合适的执行器,放入TaskManager中,就可以了完成整个任务了. 实现细节 整个任务信息存放在内存 ...
- 【DeepLearning学习笔记】Coursera课程《Neural Networks and Deep Learning》——Week1 Introduction to deep learning课堂笔记
Coursera课程<Neural Networks and Deep Learning> deeplearning.ai Week1 Introduction to deep learn ...
- System and method to prioritize large memory page allocation in virtualized systems
The prioritization of large memory page mapping is a function of the access bits in the L1 page tabl ...