一道题Wrong Answer之后该何去何从?
写程序手不稳是个大毛病,往往会让一份能AC的代码变成99.995%正确,失之毫厘谬以千里,近期十场个人赛非常少有能一次AC的经历,细致想想除了根本逻辑上的错误。大概都是跪在这些细节上:
1.输出格式,输入格式是否符合规范。有没有Case #?是否有多余空格输出?I64d or lld?输出浮点数尽量不要用cout。
2.i和j,n和m,l和r有没有写混了的。。(今晚检查了两小时的程序发现i<=m写成了i<=n...吾之内心差点儿崩溃orz。
。
3.边界问题。从0開始还是从1開始?递推式有没有越界?不要使用cnt数组来累计某个值出现多少次,最好使用map来映射。。
4.爆int,爆longlong。数论题尤其要注意,每次測试滚键盘来几个大数字。爆int的话实在拿不准数据范围,在内存同意的情况下#define int long long;爆long long的话把每一个乘法操作模除大素数(必要情况下加法操作最好也要。
5.对于不合法输入或无解情况的处理。。
是输出-1还是0还是no solution好好读题。
6.某些应该凝视掉的句子没凝视,freopen什么的。。
7.特判情况遗漏。
8.数据还没全然读入就贸然结束程序。。尽管有些时候答案已经出来了。
解决的方法还是静下心来,思路乱的时候手不要碰键盘,太庞大太复杂的流程分模块来写,先想好例子再去写代码。
眼下组队赛要開始了,不能坑队友。
附:
debug流程(from知乎:
1、又一次通读一遍代码,检查初始化,检查输出格式,需不须要输出CASE等
2、检查常常出现的一些手误,两重for循环中i,j用混。多重for循环中i被多次使用。long long相关问题等。
3、检查数据范围。又一次读一遍题,确认题意。思考边界数据对代码的影响。数组是否开小,是否爆int等。
4、进行暴力对跑。写个暴力但保证正确的版本号,利用小数据和代码对跑。
5、假设不是个人赛,找队友或者其它朋友帮忙看代码。把代码给他们解释,让他们想有没有问题。
假设是在比赛中,如今能够临时放弃这一题先看别的题了。之后有空再回来看。
。
6、假设别人过了就对照两份代码,或者直接对跑
7、睡一觉,补下番,来两把lol。明天再看一遍。。
8、搜数据。
。。。
9、搜题解。。。。
10、默念一句:数据有问题。关题目。
一道题Wrong Answer之后该何去何从?的更多相关文章
- SPOJ 1557. Can you answer these queries II 线段树
Can you answer these queries II Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://www.spoj.com/pr ...
- 6779. Can you answer these queries VII - SPOJ
Given a tree with N ( N<=100000 ) nodes. Each node has a interger value x_i ( |x_i|<=10000 ). ...
- bzoj 2482: [Spoj GSS2] Can you answer these queries II 线段树
2482: [Spoj1557] Can you answer these queries II Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 145 ...
- spoj gss2 : Can you answer these queries II 离线&&线段树
1557. Can you answer these queries II Problem code: GSS2 Being a completist and a simplist, kid Yang ...
- SPOJ GSS3-Can you answer these queries III-分治+线段树区间合并
Can you answer these queries III SPOJ - GSS3 这道题和洛谷的小白逛公园一样的题目. 传送门: 洛谷 P4513 小白逛公园-区间最大子段和-分治+线段树区间 ...
- Wrong Answer,Memory Limit Exceeded
错误原因: 1.在递归的时候,递归函数中忘记加返回return. 1.1做题时遇到一个奇葩错误,把它记到这里,看代码: 代码1:错误,用c++提交wrong answer,但是用g++提交却accep ...
- Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3) F2. Wrong Answer on test 233 (Hard Version) dp 数学
F2. Wrong Answer on test 233 (Hard Version) Your program fails again. This time it gets "Wrong ...
- 2019Hdu多校第三场:1007 Find the answer(multiset 解法)
原题链接: Find the answer c++中,multiset是库中一个非常有用的类型,它可以看成一个序列,插入一个数,删除一个数都能够在O(logn)的时间内完成,而且他能时刻保证序列中的数 ...
- G - Can you answer these queries? & N - 花神游历各国
A lot of battleships of evil are arranged in a line before the battle. Our commander decides to us ...
随机推荐
- JavaScript变量存储浅析
var test=100; function foo(){ console.log(test);//undefined var test=200; console.log(test); } 我们明明定 ...
- node调试工具--node-inspector安装
node-inspector安装: npm install --registry=http://r.cnpmjs.org -g cnpm cnpm install -g node-inspector ...
- document.body.scrollTop 值总为0
http://www.jb51.net/article/21168.htm 页面具有 DTD(或者说指定了 DOCTYPE)时,使用 document.documentElement. 做页面 ...
- JAVAscript学习笔记 js事件 第一节 (原创) 参考js使用表
<!DOCTYPE html> <html lang="en" onUnload="ud()"> <head> <me ...
- 阿里云centos 搭建SVN
1. 安装 先进入想安装的目录,执行 yum install subversion 2. 创建SVN目录 mkdir -p /var/svn/svnrepos ,然后创建版本库 svnadmin c ...
- 《Google SRE》读后感
注:这是去年国庆时的一篇读书笔记,最近线上故障频繁,重新读了下这篇读书笔记,觉得<Google SRE>非常棒,遂从简书再搬家到博客园,希望大家受益.我的简书地址:daoqidelv 国庆 ...
- Python学习--字典
在Python中通过名字来引用值的数据结构称为映射(mapping).字典是Python中唯一内建(Python解释器本身支持,不需要import)的映射类型.字典中的值没有特殊的顺序,都存储在一个特 ...
- [转载] 2 分钟读懂大数据框架 Hadoop 和 Spark 的异同
转载自https://www.oschina.net/news/73939/hadoop-spark-%20difference 谈到大数据,相信大家对Hadoop和Apache Spark这两个名字 ...
- [转载] 深入了解Java ClassLoader、Bytecode 、ASM、cglib
转载自http://www.iteye.com/topic/98178 一.Java ClassLoader 1,什么是ClassLoader 与 C 或 C++ 编写的程序不同,Java 程序并 ...
- redis特性 存储 API 集群 等
公司组内技术分享,刚好最近工作用redis构建缓存,所以想同事们分享关于redis的一些知识, 这些知识不仅仅是包括一些API层,而是一些关于redis功能功能特性的 目前为什么使用redis构建缓存 ...