一道题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 ...
随机推荐
- 私有成员 ECMAScript6 weakmap
把变量放到构造函数里进行私有化,每一个实例都会有一个getName方法,这是低效率的.function Person(name) { this.getName = function() { retur ...
- RPC 调用简述
首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网 ...
- struts2运行过程(图解)
.................................................................................................... ...
- 特征提取算法的综合实验(多种角度比较sift/surf/brisk/orb/akze)
一.基本概念: 作用:特征点提取在"目标识别.图像拼接.运动跟踪.图像检索.自动定位"等研究中起着重要作用: 主要算法: •FAST ,Machine Learning forHi ...
- shell脚本 expect 实现自动登陆
vi auto_ssh.exp #!/usr/bin/expect set ipaddress "123.227.159.159" set passwd "你的密码& ...
- 【Python】三个例子教你写代码
这篇文章包括用Python编写的斐波那契数列,三位数的水仙花数和百钱买百鸡的基础代码: (一)斐波那契数列: ''' def hanshu(n): n_1 = 1 n_2 = 1 m = n sumn ...
- 安卓自定义控件(四)实现自定义Layout
本来我是不准备写这篇文章的,我实在想不出有什么样奇怪的理由,会去继承ViewGroup然后自定义一个布局,大概是我的项目经验还不够吧,想了好久,想到了这样一个需求: 需求 如图:在项目中经常有一个这样 ...
- Class 与 Style 绑定
将 v-bind 用于 class 和 style 时,Vue.js 做了专门的增强.表达式结果的类型除了字符串之外,还可以是对象或数组. 绑定 HTML Class 对象语法 <div cla ...
- 34.Linux-printk分析、使用prink调试驱动
本节学习目的 1)分析printk()函数 2)使用prink()调试驱动 1.在驱动调试中,使用printk(),是最简单,最方便的办法 当uboot的命令行里的“console=tty1”时,表示 ...
- mybatis运行时拦截ParameterHandler注入参数
在实现多租户系统时,每个租户下的用户,角色,权限,菜单都是独立的,每张表里都有租户Id字段 (tenantId),每次做数据库操作的时候都需要带上这个字段,很烦. 现在的需求就是在mybatis向sq ...