首页 > 其他分享 >考场上手捏数据的小寄巧

考场上手捏数据的小寄巧

时间:2023-12-31 21:44:07浏览次数:26  
标签:特殊 赛制 朵莉树 考场 哈希 上手 情况 数据 小寄巧

前言

大家都打过 CF,而对于 CF 特殊的赛制,大家也有所耳闻。其中最激动人心的环节也就是 Hack 环节了。其实赛时捏数据,也无非就是对着自己的代码定向爆破罢了。

  • 多捏边界条件,例如询问总是询问修改的边界,再或者题目中某操作可能的特殊性质。
  • 多捏特殊的图,有的图因为其特殊的性质,对复杂度检验很有帮助。例如,点分治写没写对可以用一条长链来卡,如果每次选择的并非重心,很可能会卡成 \(O(n^2)\)。
  • 枚举所有情况的全排列,有些题的所有情况可以归类为几个小情况,对这几个小情况分别造一组数据以期望卡掉自己的做法。
  • 对使用的算法爆破,部分算法的正确性可能依赖于数据随机或数据有特殊性质。考虑这样的情况,然后造特殊数据并观察代码的时间是否爆炸。
  • 卡掉珂朵莉树目前似乎是共识。事实上,只要每个点颜色相同,珂朵莉树就会跑的飞慢。
  • 面对自己的 hash 使劲卡。在 OI 赛制下虽然不用担心随机数造成的影响,但是考虑您的哈希函数写的是否过弱。蒟蒻 vpNOI2022 时因为这个挂了 32pts。(注:可以双哈希)
  • 多造一些权值较大的数据,期望自己的程序爆 int 甚至 long long。
  • 对于时间复杂度为玄学的代码,思考此程序在什么情况下可能跑的最慢,然后捏一组这样的数据即可。
  • 没有思路的时候,可以写个 gen 一直 gen 小数据,拍个几万组。

感觉捏数据这件事情很玄学捏

标签:特殊,赛制,朵莉树,考场,哈希,上手,情况,数据,小寄巧
From: https://www.cnblogs.com/Piggy424008/p/17938046/data-human-maker

相关文章

  • Spring AOP快速上手
    什么是AOPAOP全称是aspect-orientedprograming面向切面编程。用于解决横向关注点的问题,横向关注点是指多个模块或者模块中的多个功能需要共享的功能,如日志记录、事务管理、安全控制等等。即重复性的代码抽象出来,形成可复用的代码模块。AOP的核心术语Joinpoint(连接点):程序执......
  • Spring 事务快速上手
    Spring事务与数据库事务关系spring事务本质上使用数据库事务,而数据库事务本质上使用数据库锁,所以spring事务本质上使用数据库锁,开启spring事务意味着使用数据库锁。spring事务是对数据库事务的封装,最后本质的实现还是在数据库,如果数据库不支持事务,spring的事务是不起作用的。数......
  • Modbus转Profinet,不会编程也能用!轻松快上手!
    Modbus转Profinet,不会编程也能用!轻松快上手!Modbus转Profinet是一种用于工业自动化领域的通信协议转换器,可以将Modbus协议转换为Profinet协议,实现设备之间的数据交换与通信。这个工具的使用非常简单,即使没有编程经验的人也可以轻松上手。即使不会编程的人也可以轻松快速上手使用Mo......
  • 什么是仿真软件?推荐几个简单易上手的几款CAE软件!
    什么是仿真软件?仿真软件(CAE软件)是一种用于模拟和模仿真实世界系统或过程的计算机程序。这些软件可以用来模拟物理系统、工程系统、商业流程等各种领域的系统。通过仿真软件,用户可以对系统进行实时的模拟、分析和测试,以便更好地理解系统的行为和性能,以及进行系统的优化和改进。仿真......
  • 「快速上手」Lombok常用注解大全
    Lombok注解教学Lombok是一个Java库,它通过注解的方式来简化Java代码的编写,减少样板代码(boilerplatecode)的重复,提高代码的可读性和可维护性。本文将介绍Lombok库中常用的注解及其用法。1.@Getter和@Setter@Getter和@Setter是Lombok中最常用的注解之一,它们用于自动生成JavaBe......
  • 深度学习:Stable Diffusion API 快速上手教程
    StableDiffusion是一个先进的深度学习模型,用于创造和修改图像。这个模型能够基于文本描述来生成图像,让机器理解和实现用户的创意。使用这项技术的关键在于掌握其API,通过编程来操控图像生成的过程。在探索StableDiffusionAPI的世界前,需要把握以下基本概念:API(应用程序编程接口......
  • 零基础快速上手HarmonyOS ArkTS开发2---ArkTS开发实践
    ArkTS开发实践:接着上一次https://www.cnblogs.com/webor2006/p/17729244.html继续,在上一次对于ArkTS的基础知识进行了学习,依照官方的课程计划,还有两个具体的小案例需要来实践实践:实践出真知,还是非常有意义的,可以将零碎知识进行一个串连,下面就正式开撸。实践一:可刷新的排行榜......
  • 上手 Linux:快速入门 Vim
    Vi和VimVi是Linux操作系统默认的文本编辑器。Vim是Vi的加强版。不仅可以做简单的文字编辑,它也有颜色高亮,语法提示等特性,可以用作编程。现在大部分的Linux发行版都同时包含Vi和Vim。在Linux操作系统中,Vim是必须掌握的一个工具:作为命令行模式下的文本编辑器非常好用......
  • 如何快速上手Line多开工具
    快速上手Line多开工具的使用指南导语:Line是一款广受欢迎的即时通讯应用程序,但它在同一设备上只允许登录一个帐号。为了方便管理多个Line帐号,使用Line多开工具是一个不错的选择。本文将向您介绍如何快速上手Line多开工具,以实现在同一设备上同时登录多个Line帐号的目标。第一步:下......
  • 基于RT-Thread快速上手SD NAND 虚拟文件系统
    SDNAND也称之为贴片式TF卡,贴片式SD卡,采用标准的SDIO接口,兼容SPI接口。下图所示为CS新一代CSSDNANDNP1GCR01-AOW大小为128M,对比128M的SD卡,可以看到贴片SD卡尺寸更小,不要SD卡座,占用更小的PCB面积;也可以节省PCB板层数,2层板即可使用。而且兼容可替代普通TF卡/SD卡,硬件电路软......