首页 > 其他分享 >信息学竞赛中的一些调试方法

信息学竞赛中的一些调试方法

时间:2024-03-01 14:57:21浏览次数:18  
标签:信息学 竞赛 下标 记得 越界 数组 算好 调试

观前须知

Sugar_Cube的博客园主页

本文背景介绍

本文包含了笔者及其同学再模拟赛或正式比赛中出现的问题
继承了笔者曾在dl24jp oj上发布的警钟撅烂系列
警钟长鸣~

正文

RE

  • 数组下标越界,stl.empty
  • 函数记得写返回值
  • 手写队列算好长度
  • 数组注意开2倍
  • 递归记得写边界

其他

  • 循环迭代和退出条件
  • 函数内变量记得初始化
  • 对于部分数据结构,记得使tr[0]始终与空结点的状态一致
  • 内存算好
  • 特判某些特殊情况

后期

  • 确认输出格式,不要多回车
  • 调试代码记得删
  • freopen记得写,文件名不要写错
  • 使用比赛提供的编译指令编译,不要WASD

Debug方法

  • Think twice,AC once
  • 从头看一遍代码
  • 检查每个函数
  • 二分找卡死
  • 输出变量
  • 数组越界就多开点,再看是不是下标-了

标签:信息学,竞赛,下标,记得,越界,数组,算好,调试
From: https://www.cnblogs.com/Sugar-Cube/p/18047052

相关文章

  • AIOT竞赛评分
          1乐聚机器人:清华和北航  白名单蓝桥杯 1 1 1 1  1 1 1 1 1 11 1小学,低年龄和高年龄。 11 1https://www.lejurobot.com/cn/1 1AELOS    KUAVO  ......
  • Vivado DDR4, BRAM与定点数加法模块交互调试
    VivadoDDR4,BRAM与定点数加法模块交互调试一、实验目的在上一实验《VivadoDDR4和BRAM交互调试经验分享-George2024-博客园(cnblogs.com)》的基础上,加入定点数加法这一功能模块,搭建一个最小的系统,实现DDR4,BRAM和功能模块的交互。相关代码已经发布在《GeorgeLin200100/F......
  • 【转】打造大模型Agent:百度智能云千帆杯竞赛第一期解题思路
    随着大型语言模型的进步,使用大模型构建人工智能代理(AIAgents)逐渐成为学术界和业界关注的领域。在这些新兴的研究中,大型语言模型扮演着人工智能代理的核心智能,即它们的“大脑”。这些基于大型语言模型的智能代理(LLM-basedAgents)通过集成了先进的语言理解和生成能力的模型,展现出在......
  • KGDB相关调试方式及设置
    KGDB内核配置选项:打开:CONFIG_KGDBCONFIG_DEBUG_INFOCONFIG_FRAME_POINTER关闭:CONFIG_STRICT_KERNEL_RWX#CONFIG_STRICT_KERNEL_RWXisnotsetCONFIG_FRAME_POINTER=yCONFIG_KGDB=yCONFIG_KGDB_SERIAL_CONSOLE=y 目标机命令行参数: linux/vmlinuz-6.7.......
  • Lua调试函数 debug.getinfo() namewhat详解
    Lua调试的时候会用到debug.getinfo()函数,what的值文档给了解释:"Lua":Luafunction"C":Cfunction"main":mainpartofachunk(通过load函数等执行的语句)关于namewhat的值到底表示什么,官方文档只是简单列举(不全)。列举一些常见情况localgetinfo=debug.getinfol......
  • Qt 无法连接到进程内QML调试器
    问题:由于在Qt5以上版本默认开启QML调试器造成的。用于告知用户,这将打开一个到运行QML的Javascript解释器的端口,以便从中获得调试输出。显然,这会造成一个安全漏洞,所以在不安全的地方使用时应该关闭它(在释放运行时自动关闭)。Qt4默认不开启QML调试器,而Qt5版本以上默认开启。......
  • 【APP逆向16】frida反调试
    1.当我们对莫个app进行fridahook的时候,如果已启动hook脚本,app就自动退出了。这个时候可能就是app对frida进行了反调试。2.如何解决这种问题呢?反调试一般在so中实现,如果有frida使用,就给关闭app启动过程中,都有加载so文件下面的问题是如何找到反调试的so文件3.hookapp......
  • Flutter 使用inspector 调试UI
    1.在AndroidStudio中点击Flutterinspector2.点击FlutterPerformace-openDevtool在浏览器中调试3.点选中widget可以在widget树中和模拟器中相互点击调试、相应控件会高亮4.其他功能 ......
  • 开发之调试-debug
    流程需求或创意--开发--调试--测试--部署-上线debugc++有gdbjava有jdbpython有pdb调试器会附加到应用进程打断点python调试printassertpdb##assert的异常参数,其实就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。格式......
  • 竞赛算法经典入门 .2
    //7744问题#include<stdio.h>#include<math.h>intmain(){for(inta=1;a<=9;a++)for(intb=1;b<=9;b++){intn=a*1100+b*11;intm=floor(sqrt(n)+0.5);//floor(x)函数,//也称为下取整函数或地板函数,//是一种数学函数,用......