卡题小结

  (写于 2014年 11月 23日)

  从昨晚打BestCoder到今天的Running IT Youth(定向越野编程比赛),各种卡题痛苦挣扎过后,现在来稍微小结一下:

  目前找到的卡题原因大概有如下几点:

1: 就是个可恶的输入输出问题,先说long long的,定义一般直接用long long去定义就行(也不知__int64来定义会不会依赖于不同的操作系统),然后就 是输入输出的问题了,建议在所有的window系统中都用%lld来进行输入输出吧(无论自己的电脑还是图书馆用这个都没问题,貌似64位的系统%lld和%I64d都可以,但图书馆的32位就不行,一定要%lld,若用%I64d的话读入就绝对出错,切记了,昨晚卡了好久,调试了好久 T.T),然后提交时就看准OJ上的要求了,所以以后如果得出一些莫名其妙的结果的话,不妨来查看是不是自己的输入输出写错了,总之无论用什么电脑都好一开始就用%lld来输入输出,然后到了提交时再把这个改为题目的要求即可!

1.1:今天的Running IT Youth中的白板编程,就是裸编,不能用IDE,也不能编译调试(就是说即使你会在DOS下编译运行也没用 T.T),然后有道贪心的水题(广外的几乎所有题目都是水题,即使很暴力也能过),然后我提交后竟然超时了,我就想数据量小得可怜再嵌套个循环也不成问题的啊,怎么会超时呢?我想是不是算法错了呢?但贪心已经很高效的了,我改了一些细节(比如提早跳出循环)后再提交还是TLE,于是我想有可能数据溢出?还是……和队友(是个美眉来的~)嘀咕了一下后忽然找到了,原来就是scanf函数中出错,读入两个变量却只有一个"%d",怪不得有问题。要是能用IDE的话这种错误完全可以扼杀在码的时候的……没办法,白板编程,就是这样的了,语法错误,逻辑错误,程序运行结果……一切都靠用肉眼看,还是对着没有高清亮凸显和几乎挤成一堆的代码 T.T,也好,下次我也用这种方法来训练自己,在广外OJ这个水的平台用这种方法也不会很吃力。

2. 第二个就是昨晚BC的签到题,就是在素数筛法这里出了问题。有种想扇自己的冲动了,暑假不知投入多少时间在数论这块了,竟然还会犯这种二逼的错误。具体就是标记数组vis[]和素数数组prime[]开的大小出了问题。说实话,现在也还没搞清,小白书又不在手,以后再回来补充。总之当异常退出时很可能是数组越界了(当然栈溢出,除0,mod 0也会,但素数筛法的存在使数组越界的可能性被放大了),以后码素数筛法时一定要很注意vis[]和prime[]数组的大小对应关系!!

(后来这道题在艰难地处理好越界问题后过了小数据的测试,却被别人机智地hack了 T.T,没别的原因,因为数据规模的上限我也有考虑到,却偏偏忽略了最特殊的边界数据:1不是素数!本应输出0的我却输出1,也罢,一时头脑发热是这样的了)

3. 再有就是局部变量的数组初始化,凡在函数体内开的数组在使用前都切记要清零!不仅因为声明时会自动赋予不确定的值,还因为该函数会被多次调用的,故如果程序的运行结果很奇怪的话也不妨来检查下这个,检查清楚每个函数体内的数组是否清零(推而广之,即使是全局变量的数组还是各种简单的变量,在函数体内使用前都切记要重新初始化,虽然还没因为这个卡过很久,但也不要把这个成为以后的风险)。

  先写到这里吧,以后再来补充。

(PS:今天的定向越野编程比赛确实收获不少 ^0^ ,可爱的两位部长,养眼的师妹还有个不断给我戴高帽鼓励我的师弟,虽说最后还是让他们有所失望,只A出一道,但我想没有爆零也算是大神保佑了,嗯嗯,一定是因为今天的亚洲区域赛广州赛区的师兄们也在coding and thinking,我才能被他们保佑哈哈……)

时间: 2024-11-05 19:02:51

卡题小结的相关文章

智力题小结(2)

1.你在一幢100层大楼下,有21根电线线头标有数字1..21.这些电线一直延伸到大楼顶,楼顶的线头处标有字母A..U.你不知道下面的数字和上面的字母的对应关系.你有一个电池,一个灯泡,和许多很短的电线.如何只上下楼一次就能确定电线线头的对应关系? 答案:在下面把2,3连在一起,把4到6全连在一起,把7到10全连在一起,等等,这样你就把电线分成了6个"等价类",大小分别为1, 2, 3, 4, 5, 6.然后到楼顶,测出哪根线和其它所有电线都不相连,哪些线和另外一根相连,哪些线和另外两

智力题小结(4)

1. 某城市发生了一起汽车撞人逃跑事件,该城市只有两种颜色的车,蓝15%绿85%,事发时有一个人在现场看见了,他指证是蓝车,但是根据专家在现场分析,当时那种条件能看正确的可能性是80%那么,肇事的车是蓝车的概率到底是多少? 答案: 设看到蓝车为事件A 看到绿车为事件B 看正确为事件C 看错误为事件D 所求为发生事件C的情况下A发生 P(C|A)=P(CA)/P(A)=P(A)P(C|A)/[P(A)P(C|A)+P(B)P(D|B)] =15%*80%/(15%×80%+85%×20%) 2.

蓝鲸安全CTF打卡题——第一期隐写术

前言 渣渣一枚,萌新一个,会划水,会喊六六 上一篇文章:蓝鲸安全CTF打卡题--第一期密码学 个人博客:https://www.cnblogs.com/lxz-1263030049/ 本文首发先知社区:蓝鲸安全CTF打卡题--第一期隐写术 i春秋:蓝鲸安全CTF打卡题--第一期隐写术 再过几天就是中秋节了,我打算尽自己最大的能力把蓝鲸安全平台上面的打卡题目的writeup整理出来. 有什么错误的地方 希望各位大佬指正(谢谢Orz) 一:雨中龙猫 知识点 图片源码隐写.base64编码 解题思路

USACO 做题小结

还记得之前,发过一篇阶段性总结与未来规划..结果由于最近rp爆发(保研成功+进wf)后者显然靠bin神,前者也是运气.因此,放松了一段时间.然后就开始刷usaco了,原因是不用花时间找解题报告在NOCOW上全部都有,很是方便.所以只需单独开一片随笔把每天做题总结一下. Chapter1-Getting started(入门) 都是超级大水题就略过了. Chapter2-Bigger Challenges(更大的挑战) 2.1 castle  这是一道基本的搜索题目,很基础.前面两个值直接搜的,后

智力题小结(5)

1. 一个巨大的圆形水池,周围布满了老鼠洞.猫追老鼠到水池边,老鼠未来得及进洞就掉入水池里.猫继续沿水池边缘企图捉住老鼠(猫不入水).已知V猫=4V鼠.问老鼠是否有办法摆脱猫的追逐? 答案: 第一步:游到水池中心. 第二步:从水池中心游到距中心R/4处,并始终保持鼠.水池中心.猫在一直线上. 第三步:沿与中心相反方向的直线游3R/4就可以到达水池边,而猫沿圆周到达那里需要3.14R,所以捉不到老鼠. 2. 从前有一位老钟表匠,为一个教堂装一只大钟.他年老眼花,把长短针装配错了,短针走的速度反而是

Educational Codeforces Round 23 补题小结

昨晚听说有教做人场,去补了下玩. 大概我的水平能做个5/6的样子? (不会二进制Trie啊,我真菜) A. 傻逼题.大概可以看成向量加法,判断下就好了. #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> using namespace std; int x1,x2,yy1,y2,x,y; int main(){ scanf("%d%d%d%d%d%d&qu

15年错题小结2月

我将给大家解析一些题 在一个Person类中已经定义好了一个代参的方法,直接实例化对象就赋值就好了 所以在 a,b,c,d四个选项中  C 正确 故选 C. 4. 应选d 这题选b正确 编写需求规格当然是B属于需求分析喽 以后做题我们应仔细读题干,这种题可不该错了 10. 10.C 12.D  自定义存储过程可以不必,就是这exec关键字在存储程中不是必有的,,, 14.. 分支的语法: if(){ }else{ } while(){ } 嵌套分支语句 其语句格式为: if(条件1) {分支1}

网络流24题小结

网络流24题 前言 网络流的实战应用篇太难做了,因此先完善这一部分 ## 第一题:飞行员配对方案 \(BSOJ2542\)--二分图 最优匹配 题意 两国飞行员\(x\)集合\(y\)集合,\(x\)飞行员可以配对特定的\(y\)集合的飞行员(可无),求一对一配对最大数 Solution 二分图最大匹配裸题,最大流实现 建图:(设\(i\in x\)而\(i'\in y\)) \((S,i,1)~(i',T,1)\) 对\((i,j')\)可匹配\((i,j',1)\) Code 略 ## 第二

智力题小结(1)

1.有两根不均匀分布的香,香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间?  答: 香a点燃一头,香b点燃两头.等香b烧完时,时间过去了30分钟.再把香a剩下的另一头也点燃.从这时起到a烧完的时间就是15分钟. 2.一个经理有三个女儿,三个女儿的年龄加起来等于13,三个女儿的年龄乘起来等于经理自己的年龄,有一个下属已知道经理的年龄,但仍不能确定经理三个女儿的年龄,这时经理说只有一个女儿的头发是黑的,然后这个下属就知道了经理三个女儿的年龄.请问三个女儿的年龄分别是多少?为什么? 答