在OI中,题目有三类:

  1. 传统题
  2. 交互题
  3. 提交答案题

今天来了解一下第三类

概述

传统题:给你一个题面,你需要交一个程序,评测姬会用你的程序运行你看不到的一些测试点,用输出和正确答案比较

提交答案题:给你一个题面,把一堆输入也给你发下来,你通过各种玄学把输出算出来,再把输出交上去。

一般还会发一个checker来帮助你测试分数

有时还会把题目原来的游戏发下来供你颓废理解题意

为什么有这种题

我们可以猜想一下:

  1. 评测姬可能一时半会儿跑不出来
  2. 可能一个程序解决不了
  3. 可能要让你知道输入你才做得出来

特点

俗话说的好,常规题付出精力和分数的关系:

(网配,侵删,后同)

(忽略负数)
提交答案:

也就是说,如果你要得满分,不知道要到猴年马月去了。

所以提交答案一般是防AK的。

做法

人类智慧

俗称手玩,即手算,不解释。

优点:

  1. 可以准确地得到一个解
    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中的提交答案的更多相关文章

  1. [技术]浅谈OI中矩阵快速幂的用法

    前言 矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中,矩阵的运算是数值分析领域的重要问题. 基本介绍 (该部分为入门向,非入门选手可以跳过) 由 m行n列元素排列成的矩形阵列.矩阵里的 ...

  2. 浅谈OI中的底层优化!

    众所周知,OI中其实就是算法竞赛,所以时间复杂度非常重要,一个是否优秀的算法或许就决定了人生,而在大多数情况下,我们想出的算法或许并不那么尽如人意,所以这时候就需要一中神奇的的东西,就是底层优化: 其 ...

  3. 浅谈Java中的对象和引用

    浅谈Java中的对象和对象引用 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起 ...

  4. 浅谈C中的malloc和free

    转自http://bbs.bccn.net/thread-82212-1-1.html非常感谢作者 浅谈C中的malloc和free 在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的 ...

  5. 浅谈JS中的闭包

    浅谈JS中的闭包 在介绍闭包之前,我先介绍点JS的基础知识,下面的基础知识会充分的帮助你理解闭包.那么接下来先看下变量的作用域. 变量的作用域 变量共有两种,一种为全局变量,一种为局部变量.那么全局变 ...

  6. 浅谈.net中数据库操作事务

    .net中的事务 关键几点 概念:1:什么是事务 2:什么时候用事务 3:基本的语法 (1): 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit).事务通常 ...

  7. 浅谈HTTP中GET、POST用法以及它们的区别

    浅谈HTTP中GET.POST用法以及它们的区别 HTTP定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符.我们可以这样认为: 一 ...

  8. 浅谈HTTP中GET和POST请求方式的区别

    浅谈HTTP中GET和POST请求的区别 HTTP认知: HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议.HTTP的底层是TCP/IP.所以GET和POST的底层也是TCP/IP,也 ...

  9. 浅谈Java中的对象和对象引用

    浅谈Java中的对象和对象引用 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起 ...

随机推荐

  1. 如何设计一个优雅健壮的Android WebView?(上)

    转:如何设计一个优雅健壮的Android WebView?(上) 前言 Android应用层的开发有几大模块,其中WebView是最重要的模块之一.网上能够搜索到的WebView资料可谓寥寥,Gith ...

  2. 伪病毒 Rp_test

    第一个写的对电脑有破坏性的程序= =,然后发现写system的copy的时候不会用字符串替代路径,然后就萎了= =,只能写一个没有自身复制的伪病毒了,坑到了好多同学的电脑,23333.... //By ...

  3. 海康解码器对接总结(java 版)

    本文只是对接海康解码器的动态解码功能,即配置解码器大屏上指定的某个窗口去解某一路IP视频源. 1. 首先,定义所需的结构体与接口.海康SDK中包含的结构体与接口非常之多,在官方的例子中,实现了大部分的 ...

  4. git 配置多用户

    .ssh 下的 config.txt 内容 # 配置github.com Host github.com HostName github.com IdentityFile ~/.ssh/id_rsa_ ...

  5. LCD实验学习笔记(九):UART

    s3c2440包含三个通用异步收发器,可工作于中断模式或DMA模式.每个UART包含两个64字节的FIFOs用于接收和发送数据.可编程设置波特率.1或2个停止位,5/6/7/8个数据位和奇偶校验状态. ...

  6. 数字签名算法rsa

    数字签名算法消息传递模型 由消息发送方构建密钥对,这里由甲方完成. 由消息发送方公布公钥至消息接收方,这里由甲方将公钥公布给乙方. 注意如加密算法区别,这里甲方使用私钥对数据签名,数据与签名形成一则消 ...

  7. linux安装lamp

    github https://github.com/zblogcn/zblogphp Installation If your server system: CentOS yum -y install ...

  8. 任务调度框架kunka

    kunka kunka是一个任务调度框架.用户只需要在Task接口中实现自己要执行的功能,并且选择合适的执行器,放入TaskManager中,就可以了完成整个任务了. 实现细节 整个任务信息存放在内存 ...

  9. 【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 ...

  10. 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 ...